3.1 HTTP 버전
<major>.<minor>
- 메시지 의미에 대한 추가 사항이나 바송자의 추가적인 능력을 의미하는 규약 추가 기능에 대한 변경이 있을 경우 <minor> 번호를 증가시킴.
- 프로토콜 내 메시지 형식이 변경되면 <major> 번호를 증가시킴.
- 이 규격이 규정하는 대로 요구나 응답 메시지를 전송하는 애플리케이션은 반드시 HTTP-Version을 "HTTP/1.1"로 설정해야 한다. 이 버전 번호를 사용하는 것은 발송하는 애플리케이션이 최소한 부분적으로는 이 규격을 따르고 있음을 표시한다.
- 상위 버전의 요구가 수신되었으면 프락시/게이트웨이는 반드시 요구 버전을 내리거나, 에러를 발송하거나 터널로 전환해야만 한다. 프락시/게이트웨이 버전보다 낮은 요구는 상위 버전으로 업그레이드 할 수는 있으나 요구 받은 버전의 주요 버전은 반드시 동일해야 한다.
3.2 URI(Uniform Resource Identifier)
보편적 자원 식별자 : 자원을 식별해주는 정형화된 문자열(www주소, URL + URN)
- 절대적, 상대적 둘 다 표현 가능. (절대적 URI는 항상 콜론이 뒤따르는 scheme로 시작함)
- URI 길이에 어떠한 제한도 두지 않음.
- 서버는 URI가 자신이 처리할 수 있는 것보다 긴 경우 414로 응답
http_URL = "http:" "//" host [ ":" port ] [ abs_path ]
host
- 합법적인 인터넷 호스트 도매인 이름, IP 주소
- 대소문자를 구별하지 않음
port
abs_path
- URL에 abs_path가 명시되어 있지 않으면 자원을 위한 Request-URI로서 사용할 때 반드시 "/"가 주어져야 한다.
- 비어있는 abs_path는 “/”와 동일
모든 HTTP 날짜/시간 표시는 예외 없이 반드시 그린이치 표준 시간(GMT))을 따라야 한다.
delta second
: 몇몇 HTTP 헤더는 메시지가 수신된 이후의 시간을 10진법의 정수로 초를 명시할 수 있도록한다. (delta-seconds = 1*DIGIT)