HTTP (HyperText Transfer Protocol)
정의
- 웹 서버와 클라이언트 간의 데이터 교환을 위한 기본적인 통신 프로토콜
특징
- 요청 응답 방식: 클라이언트가 서버에 요청을 보내면 서버는 요청에 대한 응답을 보내는 일방향 통신 방식
- 비연결성: 각 요청마다 새로운 연결이 생성되고 종료
- 무상태: 서버는 이전 요청에 대한 정보를 저장하지 않음
주요 용도
- 웹 페이지 로딩, 이미지, 파일 다운로드
AJAX (Asynchronous JavaScript and XML)
정의
- JavaScript를 이용하여 웹 페이지를 새로고침하지 않고 비동기적으로 서버와 통신하는 기술
특징
- 비동기 통신: 사용자 인터페이스를 멈추지 않고 백그라운드에서 서버와 통신
- 부분적인 페이지 갱신: 전체 페이지를 새로고침하지 않고 필요한 부분만 업데이트
- XML, JSON 등 다양한 데이터 형식 지원: 서버에서 받은 데이터를 JavaScript 객체로 변환하여 사용 가능
주요 용도
- 실시간 데이터 업데이트, 동적 콘텐츠 로딩, 웹 애플리케이션의 사용자 인터페이스 개선
WebSocket
정의
- 서버와 클라이언트 간의 양방향 실시간 통신을 가능하게 하는 프로토콜
특징
- 양방향 통신: 서버와 클라이언트가 서로 메시지를 주고 받음
- 지속적인 연결: 연결 한 번으로 지속적으로 유지되어, 실시간 데이터 전송에 유리
- 낮은 지연 시간: HTTP 요청/응답 과정을 거치지 않아 지연 시간이 짧음
주요 용도
- 실시간 채팅, 온라인 게임, 실시간 데이터 스트리밍 등
HTTP, AJAX, WebSocket 의 차이점
특징
|
HTTP
|
AJAX
|
WebSocket
|
통신 방식
|
요청 - 응답
|
비동기 요청 - 응답
|
양방향
|
연결
|
비연결
|
비연결 (요청 병렬 처리 가능)
|
지속적인 연결
|
데이터 형식
|
주로 HTML
|
XML, JSON
|
다양한 데이터 형식
|
주요 용도
|
웹 페이지 로딩, 파일 다운로드
|
동적 콘텐츠 로딩, 부분적인 페이지 갱신
|
실시간 채팅, 온라인 게임,
실시간 데이터 스트리밍
|
'CS' 카테고리의 다른 글
[인증 방식] Cookie vs Session vs Token (0) | 2024.10.14 |
---|---|
[SQL] 쿼리 속도 향상시키는 법 (1) | 2024.10.03 |
이더넷 vs 인터넷 (0) | 2024.09.21 |