내용 협상

서버는 어떤 파일을 제공해야 할지 어떻게 아나요?

내부 링크는 .html로 끝나지 않습니다. 서버가 content negotiation을 사용하여 문서의 어떤 버전을 전달할 것인지 결정하기 때문입니다. 한 가지 이상을 선택할 수 있다면 서버는 제공할 수 있는 모든 파일의 목록을 만들 것입니다. 예를 들면, 'about'이라는 파일을 요청할 때 완전한 파일명의 목록에 about.en.html과 about.ko.html이 있다면 데비안 서버는 기본값으로 영어 문서를 제공할 것입니다. 그러나 이것은 설정할 수 있습니다.

클라이언트에 적절한 변수 설정을 했다면, 즉 예를 들어 한국어를 제공하도록 설정했다면 앞에서 든 예에서는 about.de.html을 보여줄 것입니다. 이 설정의 좋은 점은 원하는 언어를 사용할 수 없을 경우에 다른 언어를 대신 전달한다는 것입니다(아예 보여주지 않는 것보다는 나음). 어떤 문서를 보여줄 것인가를 결정하는 것은 다소 복잡한 것입니다. 그래서 여기에서 설명하는 대신 관심이 있다면 https://httpd.apache.org/docs/current/content-negotiation.html에서 정확한 답을 얻을 수 있을 것입니다.

많은 사용자들이 content-negotiation이 있다는 것을 모르기 때문에 모든 페이지의 아래쪽에 번역이 끝난 다른 언어 페이지를 직접 가리키는 링크가 있습니다. 이것은 페이지를 생성할 때 wml이라 부르는 펄 스크립트를 사용하여 만듭니다.

브라우저 환경설정보다 단일 언어를 우선하는 쿠키를 이용하여 브라우저 언어 환경설정을 재정의하는 옵션도 있습니다.