스티븐 루딘, 하비에르 가르사 님의 "러닝 HTTP/2" 책을 정리한 글입니다.
하이퍼텍스트 발전과정
연도 | 인물 | 개념/업적 | 주요 내용 |
1930 | 바네바 부시 | 메멕스 시스템 |
마이크로필름을 활용한 문서 참조 시스템 구상
관련 주제와 문맥적 상관관계 유지 |
1963 | 테드 넬슨 | 하이퍼텍스트 개념 고안 |
"종이에서 표현할 수 없는 복잡한 방식으로 상호 연결된 글·그림 자료"
|
1965 | 테드 넬슨 | 하이퍼텍스트 발표 |
정보가 상호 연결되며 지워지지 않고 누구나 쉽게 접근 가능한 문서 우주 구상
|
1970 | 테드 넬슨 | 하이퍼텍스트 시제품 구현 (제너두 프로젝트) |
부시의 아이디어를 바탕으로 개발했으나 상용화 실패, 후대에 큰 영향
|
1989 | 팀 버너스 리 | HTTP 개발 및 월드 와이드 웹 제안 |
CERN 연구소에서 가속기 실험 데이터를 관리하는 시스템 제안
- 하이퍼텍스트 개념 채택 |
팀 버너스 리 | 하이퍼미디어 개념 포함 |
정보가 반드시 텍스트가 아니어도 됨 (이미지, 영상 등 포함)
|
|
팀 버너스 리 | 서버-브라우저 개념 도입 |
전 세계적으로 연결된 정보 시스템(WWW) 구축
|
1. HTTP/0.9와 1.0
특징 | HTTP/0.9 | HTTP/1.0 (RFC 1945) |
출시 연도 | 1991년 | 1996년 |
지원 메서드 | GET | GET, POST, HEAD |
헤더 지원 | ❌ | ✅ |
응답 코드 | ❌ | ✅ |
리다이렉트 | ❌ | ✅ |
조건부 요청 | ❌ | ✅ |
캐싱 옵션 | ❌ | 제한적 지원 |
연결 유지 기능 | ❌ | ❌ |
Host 헤더 | ❌ | 선택적 |
데이터 형식 | 텍스트 | 다양한 콘텐츠 유형 지원 |
콘텐츠 인코딩 | ❌ | ✅ |
오류 처리 | ❌ | ✅ |
2. HTTP/1.1
rfc 7230~7235
개선사항 | 설명 | 특징 / 항목 / 예시 |
Host 헤더 필수화 |
가상 호스팅 지원
|
|
새 연결 지시자 | 지속적 연결 지원 | |
Cacheability 헤더 확장 | 캐싱 제어 기능 (Cache-Control 헤더) | - no-cache: 사용전에 반드시 서버에 유효성 검사하기 - must-revalidate: 리소스가 캐싱 상태일 경우, 서버에서 만료 여부 확인 후 사용 - max-age: 리소스가 N초 이하로 캐싱되었을 경우 사용 |
OPTIONS 메서드 추가 |
서버가 지원하는 HTTP 메서드 목록 조회 가능
|
|
Upgrade 헤더 | 프로토콜 업그레이드 가능 | 예: WebSocket |
Range 요청 | 리소스의 특정 부분만 요청 가능 |
예: 대용량 파일 다운로드 최적화
|
Transfer-Encoding 압축 | 데이터를 청크 단위로 응답함 | 스트리밍 가능 |
파이프라이닝 | 여러 요청을 연속적으로 전송 | 성능 향상 |
3. HTTP/1.1 이후
- 웹은 HTTP/1.1 이후로 이전과 상상하지도 못할만큼 변해옴
- 웹 페이지에 개체가 추가될 떄마다 페이지는 더 복잡해짐
- ✅ 한 번에 한 개체만 요청하도록 설계된 이 프로토콜은 더 혹사당하고 있었음
4. SPDY
- 2009년, 마이크 벨시와 로베르토 페온은 HTTP의 대안으로 SPDY를 제시함
- 효율적: 다중화, 프레이밍, 헤더 압축
- 여러 브라우저와 서버, 프록시도 지원하기 시작함
5. HTTP/2
년도 | 내용 | 특징 |
2012년 | HTTP 워킹 그룹 재구성 차세대 HTTP 프로토콜 목표 설정 |
✅ 최종 사용자의 latency 개선 ✅ HOL(Head-of-Line) 블로킹 개선 ✅ TCP 혼잡제어 개선 ✅ HTTP/1.1과의 호환성 유지 (중재자 명확화) |
2015년 |
RFC 7540 발표
HTTP/2 공식 표준화 |
Google SPDY 기반
|
'Network' 카테고리의 다른 글
[컴퓨터 네트워킹 하향식 접근] 3-3. 트랜스포트 계층: UDP (1) | 2025.03.28 |
---|---|
[컴퓨터 네트워킹 하향식 접근] 3-2. 트랜스포트 계층: TCP (1) | 2025.03.28 |
[컴퓨터 네트워킹 하향식 접근] 3-1. 트랜스포트 계층: 개요 (0) | 2025.03.27 |
[컴퓨터 네트워킹 하향식 접근] 2. 애플리케이션 계층 (1) | 2025.03.27 |
[컴퓨터 네트워킹 하향식 접근] 1. 컴퓨터와 네트워크 인터넷 (0) | 2025.03.27 |