브라우저 요청의 HTTP 버전과 서버 응답의 HTTP 버전은 어떻게 결정됩니까?


2

내 가정이 올바른지 확인할 수 있습니까?

가장 인기있는 브라우저 (Chrome, Firefox, ...)는 각 요청 라인에서 HTTP / 1.1로 표준 보내기 요청으로 생각합니다.

HTTP / 1.1 응답이 제공되는지 여부는 웹 응용 프로그램을 호스팅하는 웹 서버 (예 : 특정 버전의 Apache, Nginx 등)에 의해 결정됩니다. 모든 최신 웹 서버에 이제 HTTP / 1.1이 있다고 가정합니다. 웹 서버가 HTTP / 1.1을 지원하지 않으면 HTTP / 1.1 요청을 HTTP / 1.0 인 것처럼 해석하고 HTTP / 1.0 응답을 줄 것이라고 생각합니다.

답변:


2

예, 한 가지 예외를 제외하고는 그 요지가 있다고 생각합니다.

  1. 각 요청은 http 프로토콜 수준을 지정합니다
  2. 웹 서버는 업 / 다운 레벨 버전 관리가있는 요청에 따라 다르게 수행 할 작업을 결정합니다 (있는 경우).
  3. HTTP / 1.1은 잘 확립되어 있으며 괜찮은 서버가 지원합니다.

그러나 버전 일치는 당신이 제안한 것처럼 적응력이 좋지 않습니다. 클라이언트 요청이 서버가 지원하지 않는 MAJOR 버전을 지정하면 서버는

505 HTTP Version Not Supported

귀하의 경우 1.1과 1.0은 주요 버전을 공유하므로 일부 예외를 제외하고는 가정이 맞다면 서버는 하위 수준 요청에 응답하려고 시도합니다.

http 응답 코드에 대한 자세한 내용은 RFC 2616 섹션 10섹션 3.1을 참조하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.