모듈 negotiation(mod_negotiation) : Content negotiation
등록일:2007-05-14 02:21:31 |
Module mod_negotiation
이 모듈은 mod_negotiation.c화일에 코드가 포함되어 있으며, 컴파일되는 프로그램 코드가 아니다.
또한, mod_negotiation.c소스 코드에는 이 모듈의 default값이 포함되어 컴파일된다.
서 문
이 모듈의 주된 기능은 클라이언트와의 협상을 준비하는데 있다.
클라이언트와의 협상이라고 하는 것은, 서버 측에서 송신하고자하는 문서에 대한 보다 정확한 정보를 제공하는데 필요한 클라이언트와의 일련의 정보 교환을 의미한다.
이 모듈은 두가지 기능을 제공한다.
첫번째로는 프록시 서버의 캐시문서에 대해 협상을 할건지 설정하는 디렉터이고 또 하나는 전송되는 문서의 언어타입에 대한 디렉터이다.
문서 전송시 보내지는 헤더에 포함되는 내용들
문서전송시 서버에서 송신하는 정보헤더는 RFC822권고안에서 제시된 메일전송헤더와 같다.
전송시 문서정보 구성요소로서는 다음과 같은 대표적인 것이 몇가지 있다.
알고나면 꽤 도움이 되는 내용들이니 주의깊게 읽어보기 바란다.
특히 CGI를 만든다거나 전문적인 네트워크 관리자에게 필수적이다.
Content-Encoding:
전송되는 문서의 Encoding방식을 의미한다.
압축화일 전송시 많이 쓰인다.
보통 x-compress,x-gzip등인 쓰인다.
Content-Language:
전송되는 문서의 언어 타입을 의미한다.
디폴트값으로는 영어인 en이 쓰인다.
Content-Length:
전송되는 문서의 길이를 표시한다.
Content-Type:
전송되는 문서의 MIME-TYPE을 의미한다.
추가되는 인자로서는 name=값,이 있다.
URI:
이거은 URL(정보위치)+URN(정보의 이름)이 합해서 만들어진 정보의 위치와 이름이다.
Directives
--------------------------------------------------------------------------------
CacheNegotiatedDocs
Syntax: CacheNegotiatedDocs
Context: server config
Status: Base
Module: mod_negotiation
Compatibility: CacheNegotiatedDocs is only available in Apache 1.1 and later.
이 디렉터는 프록시서버의 캐시에 저장된 문서에 대해 협상을 사용할 수 있게 해준다.
다만 브라우저가 요구하는 HTTP버전이 1.0일때에만 유효하다.
만약 HTTP버전이 1.1일 경우에는 유효하지 않다.
LanguagePriority
Syntax: LanguagePriority mime-lang mime-lang...
Context: server config, virtual host, directory, .htaccess
Override: FileInfo
Status: Base
Module: mod_negotiation
이 디렉터의 의미는 좀 흥미있다.
브라우저가 요구하는 문서에 대해 서로 다른 언어타입으로 여러개 존재할때
어느 언어타입을 먼저 보낸것인가 결정하는 것이다.
보내는 순서는 마지막 언어타입부터 우선순위를 갖는다.
예제:
만약 설정이 다음과 같이 되었다고 하자.
LanguagePriority en fr de
브라우저가 test.html을 요구했을때 서버에 test.html.fr 과 test.html.de가 모두 존재하고,
브라우저가 언어선택을 하지 않고 요구를 한다면, 마지막 언어타입인(여기선 de) test.html.de만 보낼것이다.
그러나, 이 디렉터는 브라우저가 HTTP/1.1버젼을 사용한다면 효과가 없다.
--------------------------------------------------------------------------------
이 문서는 아파치 문서 한글화 작업에 의해 진행되어 졌습니다.
작성자 : 손종국
| [아파치 문서 기고 안내] |
작성하신 문서를 지금 아파치 사용자 커뮤니티와 공유해 주십시오. 공유하시는 글들은 여러분들의 이름으로 이곳에 등록되어 많은 분들이 도움을 받을 수 있습니다. 또한 계획중이신 글이 있으신가요? 계획중이신 글을 저희에게 알려주시거나 또는 공동작업할 수 있도록 도움을 드리도록 하겠습니다. 혹시 글이 내용이 작거나 부족하다고 생각하시나요? 정보는 공유할 수록 그 의미가 커집니다. 부족한 부분은 저희 아파치 커뮤니티 사용자들분과 채워가실 수 있습니다. 여러분들의 참여를 기다리겠습니다. 문서 기고 및 문의 사항은 submit (at) apache-kr.org 으로 해주세요. 추후 온라인에서 직접 문서를 등록하실 수 있도록 작업할 예정입니다. |
