HTTP의 정의
HTTP; HyperText Transfer Protocol : 하이퍼텍스트 전송 규약
HTTP는 OSL 7 Layer의 최상위 계층인 Application 계층에 위치하며
데이터 교환을 위한 기본적인 규약을 정의하는데 그 목적을 가지고 있습니다.
Client-Server 구조로 이루어져 있으며 보통 Client 요청은 Request, Server 요청은 Response로 말합니다.
HTTP는 Web의 발전에 따라 진화하였으며 이 문서에서는 각 버전 별 특징을 알아보도록 하겠습니다.
HTTP 버전 별 특징 및 장단점
HTTP 1.0
HTTP 1.0 특징
- 단일 연결: 각 요청마다 새로운 연결을 맺는 방식이었습니다. 각각의 요청은 개별적인 TCP 연결을 통해 이루어졌습니다.
- 단방향 통신: 클라이언트가 서버에게 요청을 보내고, 서버가 응답을 반환하는 단방향 통신 방식이었습니다.
- 상태 저장 불가능: 서버는 클라이언트의 상태를 유지하지 않았기 때문에 각각의 요청은 독립적이었습니다.
- 헤더의 부족: HTTP 1.0의 헤더는 상대적으로 간단하며, 다양한 메타데이터를 전달하기에는 제한적이었습니다.
HTTP 1.0 장점
- 간단하고 직관적: HTTP 1.0은 단순하고 직관적인 프로토콜이었기 때문에 구현과 사용이 비교적 쉬웠습니다.
- 일관성: 단일 연결을 통한 각 요청이 독립적이기 때문에, 각각의 요청이 일관성 있게 처리되었습니다.
HTTP 1.0 단점
- 성능 이슈: 매번 새로운 연결을 맺어야 했기 때문에, 웹 페이지 로딩 시간이 길어지고 성능이 저하되는 문제가 있었습니다.