프런트엔드 개발자가 알아야하는 HTTP 프로토콜 Part 1
WEB | 프론트엔드 개발자로서 알아야할 HTTP 기초
HTTP 프로토콜이란?
- 프로토콜 : 상호 간의 정의한 규칙을 의미하며 특정 기기 간에 데이터를 주고받기 위해 정의되었다.
⇒ 하이퍼텍스트를 전송하기 위한 상호 간의 정의한 규칙.

어플리케이션 계층은 웹 서비스, 이메일 등 서비스를 실질적으로 이용하는 사람들에게 제공된다.
HTTP는 FTP, SSH, DNS 등과 함께 응용 프로그램이 사용하는 프로토콜 계층인 애플리케이션 계층이다.
HTTP 프로토콜 특징
- HTTP 프로토콜은 상태가 없는(stateless) 프로토콜이다.
⇒ 상태가 없다는 것 : 데이터를 주고 받기 위한 각각의 데이터 요청이 서로 독립적(이전 데이터 요청과 다음 데이터 요청이 서로 관련이 없음)
- HTTP 프로토콜은 일반적으로 TCP/IP 통신 위에서 동작하며 기본 포트는 80번이다.
이러한 특징으로 인해 서버는 세션과 같은 별도의 추가 정보를 관리하지 않아도 되고, 다수의 요청 처리 및 서버의 부하 줄일 수 있는 성능 상 이점 생김.
HTTP/1.0
- 기본적으로 한 연결 당 하나의 요청을 처리하도록 설계되었다.
- 서버로부터 파일을 가져올 때마다 TCP의 3-way hand shake를 계속해서 열어야 하므로 RTT가 증거하는 단점이 있다.
- RTT가 증가하는 단점을 개선하기 위해 이미지 스플리팅, 코드 압축, 이미지 Base 64 인코딩 등을 사용.
RTT(Round-Trip Time)