상추의 IT저장소
IT지식) HTTP통신 VS Socket 통신 본문
HTTP통신
- HTTP란 HyperText Transfer Protocol의 약자로 HTML 파일을 전송하는 프로토콜이라는 의미를 가진다.
- HTTP 통신은 클라이언트에서 서버로 요청을 보내고 서버가 응답하는 방식으로 통신이 이루어진다. 응답에는 클라이언트의 요청에 따른 결과를 반환한다. 즉, 클라이언트의 요청이 있을 때 서버가 응답하는 방식으로 단방향 통신이다.
- 서버의 응답에는 응답코드가 같이 전송되며, 사용자는 응답 코드와 메세지 응답으로 부터 오는 메세지 바디를 통해 요청 값을 전달 받는다.
- JSON, Image, HTML 파일 등 다양한 파일을 전송 받을 수 있다.
소켓통신
- 소켓통신이란 두프로그램이 서로 데이터를 주고 받을 수 있도록 양쪽에 생성되는 통신 단자이다.
- 소켓 통신이란 서버와 클라이언트 양방향 연결이 이루어지는 통신으로, 클라이언트도 서버로 요청을 보낼 수 있고 서버도 클라이언트로 요청을 보낼 수 있는 통신이다.
- 즉, 클라이언트와 서버 양쪽에서 서로에게 데이터 전달을 하는 방식의 양방향 통신이다.
- 보통 스트리밍이나 실기간 채팅 등 실시간으로 데이터를 주고 받아야 하는 경우 Connection을 자주 맺고 끊는 HTTP통신 볻 소켓 통신이 적합하다. 소켓 통신은 계속해서 Connection을 들고 있기 때문에 HTTP 통신에 비해 많은 리소스가 소모된다.
정리
- 자주 데이터를 주고 받는 환경이 아닌 경우 HTTP 통신을 통해 받는 것이 유리하다.
- 자주 데이터를 주고 받아야 하는 환경에서는 소켓 통신이 유리하다.
- HTTP 통신은 사용자가 서버에 요청을 보내는 단방향 통신인 반면, 소켓 통신은 양방향 통신이다.
'IT지식' 카테고리의 다른 글
| IT지식) .env (0) | 2024.07.23 |
|---|---|
| IT지식) 네이밍 컨벤션 (Naming Convention) (0) | 2023.01.13 |
| IT지식) Cookie , Session (0) | 2022.11.23 |
| IT지식) GET vs POST (0) | 2022.11.23 |
| IT지식) 정적언어 vs 동적언어 (0) | 2022.11.20 |