HTTP 프로토콜
HTTP 프로토콜(HyperText Transfer Protocol)
웹 상에서 웹 서버 및 웹브라우저 상호 간의 데이터 전송을 위한 응용계층 프로토콜
처음에는, WWW 상의 하이퍼텍스트 형태의 문서를 전달하는데 주로 이용
현재에는, 이미지,비디오,음성 등 거의 모든 형식의 데이터 전송 가능
1. 요청 및 응답의 구조
동작형태가 클라이언트/서버 모델로 동작
2. 메세지 교환 형태의 프로토콜
- 클라이언트와 서버 간에 `HTTP 메세지`를 주고받으며 통신
SMTP 전자메일 프로토콜과 유사
- HTTP의 응답 및 요청 메세지 구성
- HTTP 메세지 내 헤더 항목들
3. 트랜잭션 중심의 비연결성 프로토콜
- 종단간 연결이 없음 (Connectionless)
- 이전의 상태를 유지하지 않음 (Stateless)
4. 전송계층 프로토콜 및 사용 포트 번호
- 전송계층 프로토콜 : TCP
- 사용 포트 번호 : 80번
5. http 표준
HTTP 1.0 : RFC 1945 (~1997년)
- 유용한 초기 개념들 도입
- HTTP 헤더, HTTP 메서드, HTTP 응답 코드, 리다이렉트, 비지속 연결 등
HTTP 1.1 : RFC 2068 => RFC 2616 => RFC 7230~7235 (1998년~)
- HTTP 1.0 으로부터 기능 향상
- HTTP 헤더 내 Host 필드를 필수 항목으로 함 (1개 IP 주소에 다수의 가상 호스팅 가능)
- HTTP 헤더 내 Accept 필드에 의한 컨텐츠 협상
- 잘 정의된 캐시 컨트롤
- 블록 단위 인코딩 전송
- 지속 연결 회선(킵얼라이브 커넥션)을 통한 재사용 가능
- 요청 파이프라인을 이용한 병렬 커넥션 처리(실제 사용 거의 없음) 등