ChatLite 작동 방식
ChatLite는 두 브라우저를 연결하는 웹 앱입니다. 어떤 부분이 ChatLite 서버를 거치고 어떤 부분이 브라우저 사이로 바로 가는지 알면, 어떤 기능은 되는데 다른 기능은 안 되는 이유가 이해됩니다.
두 가지 연결
ChatLite를 쓰는 동안 브라우저는 ChatLite 서버와 연결을 유지합니다. 서버는 누가 온라인인지 보여 주고, 브라우저끼리 서로를 찾는 데 필요한 준비 메시지를 전달하며, 직접 연결이 없을 때 메시지를 대신 전달합니다. 이와 별도로 ChatLite는 두 브라우저 사이에 직접 WebRTC 연결을 열려고 시도합니다.
- 서버를 거치는 것: 온라인 상태, 새 대화 알림, 통화 요청, 그룹 메시지, 그리고 직접 연결이 없을 때의 1:1 메시지와 파일.
- 브라우저 사이로 직접 가는 것: 암호화된 데이터 채널을 통한 1:1 메시지와 파일, 통화와 화면 공유의 소리와 영상.
시작하면 일어나는 일
시작하면 무작위 익명 사용자 ID가 만들어져 닉네임과 함께 브라우저에 저장됩니다. 가입 절차는 없습니다. 초대 링크에 담기는 것이 이 ID이며, 친구를 추가하면 내 기기에 1:1 대화가 생기고 상대 기기에 알림이 갑니다.
대화가 저장되는 곳
대화, 메시지, 받은 파일은 각 기기의 브라우저 저장소에 보관됩니다. ChatLite 서버는 복원할 수 있는 기록을 보관하지 않습니다. 받는 사람이 오프라인이면 서버는 전달하지 못한 항목을 제한된 시간 동안만 가집니다. 메모리에는 사용자당 최대 50개이며 서버를 다시 시작하면 지워지고, 계정에 연결된 기기라면 데이터베이스에 최대 14일입니다.
선택 계정과 알림
대화하는 데 계정은 필요 없습니다. 계정을 만들면 ChatLite는 이메일 주소, 해시된 비밀번호, 연결한 기기를 저장해 여러 기기가 새 메시지를 받을 수 있게 합니다. 알림을 켜면 브라우저가 Google Firebase Cloud Messaging에 푸시 토큰을 등록해 오프라인일 때도 알림을 받을 수 있습니다.
ChatLite가 하지 않는 일
- 애플리케이션 수준의 종단 간 암호화를 제공하지 않습니다. 그룹 메시지를 포함해 서버를 거치는 메시지는 서버가 기술적으로 읽을 수 있습니다.
- 통화 연결을 보장하지 않습니다. 통화에는 두 브라우저 사이의 경로가 필요하며 ChatLite는 현재 자체 중계 서버를 운영하지 않습니다.
- 그룹 통화, 기록 내보내기, 전체 삭제 버튼을 제공하지 않습니다.
다음 단계
이용 가이드에서 각 항목을 실제 사용 흐름으로 확인할 수 있고, 데이터 처리 페이지에는 저장되고 공유되는 내용이 자세히 나와 있습니다.