HTTP-매개 변수

이 장에서는 중요한 HTTP 프로토콜 매개 변수와 해당 구문이 통신에 사용되는 방식을 몇 가지 나열합니다. 예를 들어, 날짜 형식, URL 형식 등이 있습니다. 이는 HTTP 클라이언트 또는 서버 프로그램을 작성하는 동안 요청 및 응답 메시지를 구성하는 데 도움이됩니다. HTTP 요청 및 응답에 대한 메시지 구조를 학습하는 동안 후속 장에서 이러한 매개 변수의 전체 사용법을 확인할 수 있습니다.

HTTP 버전

HTTP는 <major>.<minor>프로토콜의 버전을 나타내는 번호 매기기 체계. HTTP 메시지의 버전은 첫 번째 줄의 HTTP-Version 필드로 표시됩니다. 다음은 HTTP 버전 번호를 지정하는 일반적인 구문입니다.

HTTP-Version   = "HTTP" "/" 1*DIGIT "." 1*DIGIT

HTTP/1.0

or

HTTP/1.1

균일 한 리소스 식별자

URI (Uniform Resource Identifier)는 리소스 (예 : 웹 사이트, 웹 서비스 등)를 식별하기 위해 이름, 위치 등을 포함하는 단순 형식의 대소 문자를 구분하지 않는 문자열입니다. HTTP에 사용되는 URI의 일반적인 구문은 다음과 같습니다.

URI = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]

여기에 port 비어 있거나 지정되지 않은 경우 포트 80은 HTTP에 대해 가정하고 비어 있습니다. abs_path 다음과 같습니다. abs_path의 "/". 다른 문자는reservedunsafe 세트는 ""% "HEX HEX"인코딩과 동일합니다.

다음 세 URI는 동일합니다.

http://abc.com:80/~smith/home.html
http://ABC.com/%7Esmith/home.html
http://ABC.com:/%7esmith/home.html

날짜 / 시간 형식

모든 HTTP 날짜 / 시간 스탬프는 예외없이 그리니치 표준시 (GMT)로 표시되어야합니다. HTTP 애플리케이션은 날짜 / 시간 스탬프의 다음 세 가지 표현 중 하나를 사용할 수 있습니다.

Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 822, updated by RFC 1123
Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
Sun Nov  6 08:49:37 1994       ; ANSI C's asctime() format

캐릭터 세트

우리는 클라이언트가 선호하는 문자 집합을 지정하기 위해 문자 집합을 사용합니다. 여러 문자 세트를 쉼표로 구분하여 나열 할 수 있습니다. 값이 지정되지 않은 경우 기본값은 US-ASCII입니다.

다음은 유효한 문자 집합입니다.

US-ASCII

or

ISO-8859-1

or 

ISO-8859-7

콘텐츠 인코딩

콘텐츠 인코딩 값은 콘텐츠를 네트워크를 통해 전달하기 전에 인코딩 알고리즘을 사용하여 콘텐츠를 인코딩했음을 나타냅니다. 콘텐츠 코딩은 주로 문서를 압축하거나 ID를 잃지 않고 유용하게 변환하는 데 사용됩니다.

모든 콘텐츠 코딩 값은 대소 문자를 구분하지 않습니다. HTTP / 1.1은 다음 장에서 보게 될 Accept-Encoding 및 Content-Encoding 헤더 필드의 콘텐츠 코딩 값을 사용합니다.

다음은 유효한 인코딩 체계입니다.

Accept-encoding: gzip

or

Accept-encoding: compress

or 

Accept-encoding: deflate

미디어 유형

HTTP는 인터넷 미디어 유형을 Content-TypeAccept확장 가능한 개방형 데이터 입력 및 유형 협상을 제공하기위한 헤더 필드. 모든 미디어 유형 값은 IANA (Internet Assigned Number Authority)에 등록됩니다. 미디어 유형을 지정하는 일반적인 구문은 다음과 같습니다.

media-type     = type "/" subtype *( ";" parameter )

유형, 하위 유형 및 매개 변수 속성 이름은 대소 문자를 구분하지 않습니다.

Accept: image/gif

언어 태그

HTTP는 Accept-LanguageContent-Language필드. 언어 태그는 기본 언어 태그와 비어있을 수있는 일련의 하위 태그 등 하나 이상의 부분으로 구성됩니다.

language-tag  = primary-tag *( "-" subtag )

태그 내에서 공백은 허용되지 않으며 모든 태그는 대소 문자를 구분하지 않습니다.

예제 태그는 다음과 같습니다.

en, en-US, en-cockney, i-cherokee, x-pig-latin

여기서 2 자로 된 기본 태그는 ISO-639 언어 약어이고 2 자로 된 초기 하위 태그는 ISO-3166 국가 코드입니다.