<-
Apache > HTTP Server > Documentation > Version 2.0 > Modules

Apache Модуль mod_negotiation

Description: предусматривает content negotiation
Status: основа
Module Identifier: negotiation_module
Source File: mod_negotiation.c

резюме

удовлетворить переговоры, или более точно удовлетворить выбор, - выбор документа что лучшие спички способности клиентов, от одного из нескольких доступных документов. Есть два выполнения этого.

директивы

темы

см. также

top

Type maps

карта типа имеет формат, подобный ударам головой почты RFC822. Это содержит описания документа, отделенные чистыми линиями, с линиями, начинающимися с характера мешанины ('#') рассматривал как комментарии. Описание документа состоит из нескольких отчетов удара головой; отчеты могут быть продолжены на многократных линиях, если линии продолжения начинаются с мест. Ведущее место будет удалено, и линии связаны. Отчет удара головой состоит из названия ключевого слова, которое всегда заканчивается в двоеточии, сопровождаемом ценностью. Whitespace позволяется между названием удара головой и ценностью, и между символами ценности. Разрешенные удары головой:

Content-Encoding:
зашифровывание файла. Апач только признает зашифровывания, которые определены AddEncoding директива. Это обычно включает зашифровывания x-compress для compress'd файлов, и x-gzip для gzip'd файлов. x- приставка игнорируется для того, чтобы кодировать сравнения.
Content-Language:
язык (и) варианта, как интернет-стандартный языковой признак ( RFC 1766 ). Пример en , значение английского языка. Если вариант содержит больше чем один язык, они отделены запятой.
Content-Length:
длина файла, в байтах. Если этот удар головой не присутствует, то фактическая длина файла используется.
Content-Type:
вид средств рекламы ПАНТОМИМЫ документа, с дополнительными параметрами. Параметры отделены от вида средств рекламы и от друг друга точкой с запятой, с синтаксисом name=value . общие параметры включают:
level
целое число, определяющее версию вида средств рекламы. Для text/html это неплатежи к 2, иначе 0.
qs
число с плавающей запятой с ценностью в диапазоне 0.0 к 1.0, указывая относительное 'качество' этого варианта по сравнению с другими доступными вариантами, независимыми от способностей клиента. Например, jpeg файл имеет обычно более высокое исходное качество чем ascii файл, если это пытается представить фотографию. Однако, если бы представляемый ресурс - ascii искусство, то ascii файл имел бы более высокое исходное качество чем jpeg файл. Все qs ценности являются поэтому определенными для данного ресурса.

Example

Content-Type: image/jpeg; qs=0.8

URI:
туры файла, содержащего вариант (данного вида средств рекламы, закодированного с данным зашифровыванием содержания). Они интерпретируются как URL относительно файла карты; они должны быть на том же самом сервере (!), и они должны обратиться к файлам, которым клиенту предоставили бы доступ, если их нужно требовать непосредственно.
Body:
новый в Apacheе 2.0, фактическое содержание ресурса может быть включено в файл карты типа, используя удар головой Тела. Этот удар головой должен содержать вереницу, которая определяет разделитель для содержания тела. Тогда весь после линий в файле карты типа будут считать частью тела ресурса, пока вереница разделителя не найдена.

Example:

Body:----xyz----
<html>
<body>
<p>Content of the page.</p>
</body>
</html>
----xyz----

top

MultiViews

поиск Мультипредставлений позволяется MultiViews Options . если сервер получает запрос о /some/dir/foo и /some/dir/foo делает нет существовать, тогда сервер читает справочник, ищущий все названные файлы foo.* , и эффективно фальсифицирует карту типа, которая называет все те файлы, назначая их теми же самыми видами средств рекламы и довольными зашифровываниями, которые это имело бы, если клиент спросил одного из них по имени. Это тогда выбирает лучшее состязание к требованиям клиента, и возвращениям тот документ.

MultiViewsMatch директива формирует, рассмотрит ли Apache файлы, которые не имеют довольной информации Меты переговоров назначенной на них, выбирая файлы.

top

CacheNegotiatedDocs Directive

Description: позволяют довольно-договорные документы прятаться про запас по доверенности серверы
Syntax: CacheNegotiatedDocs On|Off
Default: CacheNegotiatedDocs Off
Context: сервер config, действительный хозяин
Status: основа
Module: mod_negotiation
Compatibility: синтаксис изменился в версии 2.0.

если установлено, эта директива позволяет довольно-договорным документам прятаться про запас по доверенности серверы. Это могло означать, что клиенты позади тех proxys могли восстановить версии документов, которые не лучшее состязание для их способностей, но это сделает кэширование более эффективным.

эта директива только обращается к запросам, которые прибывают от браузеров HTTP/1.0. HTTP/1.1 обеспечивает намного лучший контроль над кэшированием договорных документов, и эта директива не имеет никакого эффекта в ответах на запросы HTTP/1.1.

до версии 2.0, CacheNegotiatedDocs не брал аргумент; это было включено присутствием директивы отдельно.

top

ForceLanguagePriority Directive

Description: действие, чтобы взять, если единственный приемлемый документ не найден
Syntax: ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]
Default: ForceLanguagePriority Prefer
Context: сервер config, действительный хозяин, справочник, .htaccess
Override: FileInfo
Status: основа
Module: mod_negotiation
Compatibility: доступный в версии 2.0.30 и позже

ForceLanguagePriority директива использует данный LanguagePriority удовлетворять negotation, куда сервер не мог иначе возвратить единственный документ соответствия.

ForceLanguagePriority Prefer использования LanguagePriority служить одному действительному результату, вместо того, чтобы возвратить HTTP заканчиваются 300 (МНОГОКРАТНЫЕ ВЫБОРЫ), когда есть несколько одинаково действительных выборов. Если директивы ниже давались, и пользователь Accept-Language назначенный удар головой en и de каждый как качество .500 (одинаково приемлемый) тогда первый вариант соответствия, en , будет служиться.

LanguagePriority en fr de
ForceLanguagePriority Prefer

ForceLanguagePriority Fallback использования LanguagePriority служить действительному результату, вместо того, чтобы возвратить HTTP заканчиваются 406 (НЕ ПРИЕМЛЕМЫЙ). Если директивы ниже давались, и пользователь Accept-Language только разрешенный es языковой ответ, но такой вариант не найден, тогда первый вариант от LanguagePriority упомянуть ниже будет служиться.

LanguagePriority en fr de
ForceLanguagePriority Fallback

оба варианта, Prefer и Fallback , может быть определен, таким образом любой первый вариант соответствия от LanguagePriority будет служиться, если больше чем один вариант будет приемлем, или сначала доступному документу будут служить, если ни один из вариантов не соответствовал приемлемому списку клиента языков.

см. также

top

LanguagePriority Directive

Description: precendence языковых вариантов для случаев, где клиент не выражает предпочтение
Syntax: LanguagePriority MIME-lang [ MIME-lang ] ...
Context: сервер config, действительный хозяин, справочник, .htaccess
Override: FileInfo
Status: основа
Module: mod_negotiation

LanguagePriority устанавливает предшествование языковых вариантов для случая, где клиент не выражает предпочтение, обращаясь с запросом Мультипредставлений. Список ПАНТОМИМА-LANG являются в порядке уменьшения предпочтения.

Example:

LanguagePriority en fr de

для запроса о foo.html , где foo.html.fr и foo.html.de оба существовали, но браузер не выражал языковое предпочтение, тогда foo.html.fr был бы возвращен.

отметить, что эта директива только имеет эффект, если 'лучший' язык не может быть определен никакими другими средствами или ForceLanguagePriority директива не None . вообще, клиент определяет языковое предпочтение, не сервер.

см. также