HTTP: Difference between revisions

From CS Wiki
No edit summary
No edit summary
Line 20: Line 20:
* 사용가능한 메서드: GET, POST, PUT
* 사용가능한 메서드: GET, POST, PUT


=== HTTP/1.1 (현재 표준) ===
=== HTTP/1.1 ===
;[https://tools.ietf.org/html/rfc2068 RFC 2068]
;[https://tools.ietf.org/html/rfc2068 RFC 2068]
* HTTP/1.0이 문서화된지 몇 달 후 1997년 초에 공개
* HTTP/1.0이 문서화된지 몇 달 후 1997년 초에 공개
Line 32: Line 32:
* 청크된 응답 지원
* 청크된 응답 지원
* 캐시 제어 메커니즘 추가
* 캐시 제어 메커니즘 추가
* 사용가능한 메서드: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE


=== HTTP/2.0 (차기 표준) ===
=== HTTP/2.0 ===
* SPDY 도입
 
=== HTTP/3.0 ===
* QUIC 도입

Revision as of 00:34, 5 January 2020

HyperText Transport Protocol
  • 1989년 당시 제네바의 CERN에서 일하고 있던 Tim Berners-Lee가 인터넷 상의 하이퍼텍스트 시스템을 만들기 위해 제안
  • 초기에 Mesh라고 불리다 1990년에 구현 과정에서 WWW라 명명

버전별 차이

HTTP/0.9

  • HTTP 가장 초기 버전으로, 원래는 버전 번호가 없다.
    • (향후 구분을 위해 0.9라고 버전번호 부여)
  • 단순히 HTML 파일만 전송하는 프로토콜
    • 오류 코드 또는 응답 코드 또한 HTML에 포함하여 회신
  • 사용가능 메서드: GET
  • HTTP 헤더가 존재하지 않음

HTTP/1.0

RFC 1945
  • 헤더를 통해 HTTP 버전 코드를 송신하고, 상태 코드를 회신 받을 수 있음
  • 헤더의 Content-Type 구분을 통해 HTML이 아닌 다른 형태의 문서 전송 가능
  • 사용가능한 메서드: GET, POST, PUT

HTTP/1.1

RFC 2068
  • HTTP/1.0이 문서화된지 몇 달 후 1997년 초에 공개
  • Keep Alive 추가
    • 커넥션이 재사용될 수 있게 하여 재연결 지연 감소
  • 파이프라이닝 추가
    • 첫번째 요청에 대한 응답이 완전히 전송되기 이전에 두번째 요청 전송 가능
    • 커뮤니케이션 레이턴시를 감소
  • Host 헤더 추가
    • 동일 IP 주소에 대해 다른 도메인을 호스트하는 기능이 추가되어 코로케이션 가능
  • 청크된 응답 지원
  • 캐시 제어 메커니즘 추가
  • 사용가능한 메서드: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE

HTTP/2.0

  • SPDY 도입

HTTP/3.0

  • QUIC 도입