HTTP (HyperText Transfer Protocol)
HTTP는 클라이언트가 서버에 요청을 보내면 서버가 응답을 보내는 단방향 통신이다. 따라서 클라이언트의 요청이 없으면 서버는 데이터를 보낼 수 없다.
HTTP로 채팅 서비스를 구현하려면 서버에 지속적인 요청을 보내야하는데 이를 Polling이라고 한다. 서버에 일정한 간격의 Polling을 주기적으로 보내 데이터의 변화를 체크하여 업데이트한다. Polling의 간격이 너무 짧으면 서버 부하가 증가하고, 너무 길면 실시간성이 떨어지게 되므로 적절한 간격을 설정할 필요가 있다.
WebSoket
웹 소켓은 클라이언트와 서버가 한 번 연결되면, 그 연결이 지속되는 양방향 통신이다. 클라이언트와 서버가 서로 데이터를 주고받을 수 있으며, 서버는 클라이언트의 요청이 없어도 데이터를 보낼 수 있다.
웹 소켓은 지속적인 연결로 양방향 통신을 제공하기 때문에 채팅 서비스에서 중요한 지연시간이 거의 없다. 그래서 채팅 서비스에는 웹 소켓 방식이 많이 쓰인다.
HTTP vs WebSoket
장점 | 단점 | |
HTTP | 요청-응답 모델 기반 구현이 간단 | 지속적인 요청 필요 polling으로 인한 지연시간 발생 |
WebSoket | 지속적인 연결 유지로 실시간 양방향 통신 가능 | 지속적인 연결 유지로 서버 자원 부담 |
'GDSC > 실시간 채팅 구현' 카테고리의 다른 글
[JS][프론트엔드] Polling 방식을 이용한 실시간 채팅 구현 (0) | 2024.08.22 |
---|---|
[실시간 채팅 구현] API, 비동기 처리 (0) | 2024.08.01 |
[실시간 채팅 구현] 프로젝트 개요 (0) | 2024.07.23 |
HTTP (HyperText Transfer Protocol)
HTTP는 클라이언트가 서버에 요청을 보내면 서버가 응답을 보내는 단방향 통신이다. 따라서 클라이언트의 요청이 없으면 서버는 데이터를 보낼 수 없다.
HTTP로 채팅 서비스를 구현하려면 서버에 지속적인 요청을 보내야하는데 이를 Polling이라고 한다. 서버에 일정한 간격의 Polling을 주기적으로 보내 데이터의 변화를 체크하여 업데이트한다. Polling의 간격이 너무 짧으면 서버 부하가 증가하고, 너무 길면 실시간성이 떨어지게 되므로 적절한 간격을 설정할 필요가 있다.
WebSoket
웹 소켓은 클라이언트와 서버가 한 번 연결되면, 그 연결이 지속되는 양방향 통신이다. 클라이언트와 서버가 서로 데이터를 주고받을 수 있으며, 서버는 클라이언트의 요청이 없어도 데이터를 보낼 수 있다.
웹 소켓은 지속적인 연결로 양방향 통신을 제공하기 때문에 채팅 서비스에서 중요한 지연시간이 거의 없다. 그래서 채팅 서비스에는 웹 소켓 방식이 많이 쓰인다.
HTTP vs WebSoket
장점 | 단점 | |
HTTP | 요청-응답 모델 기반 구현이 간단 | 지속적인 요청 필요 polling으로 인한 지연시간 발생 |
WebSoket | 지속적인 연결 유지로 실시간 양방향 통신 가능 | 지속적인 연결 유지로 서버 자원 부담 |
'GDSC > 실시간 채팅 구현' 카테고리의 다른 글
[JS][프론트엔드] Polling 방식을 이용한 실시간 채팅 구현 (0) | 2024.08.22 |
---|---|
[실시간 채팅 구현] API, 비동기 처리 (0) | 2024.08.01 |
[실시간 채팅 구현] 프로젝트 개요 (0) | 2024.07.23 |