스티븐 루딘, 하비에르 가르사 님의 "러닝 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 |
헤더 지원 | X | O |
응답 코드 | X | O |
리다이렉트 | X | O |
조건부 요청 | X | O |
캐싱 옵션 | X | 제한적 지원 |
연결 유지 기능 | X | X |
Host 헤더 | X | 선택적 |
데이터 형식 | 텍스트 | 다양한 콘텐츠 유형 지원 |
콘텐츠 인코딩 | X | O |
오류 처리 | X | O |
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 |