4.3. Допущения серверов
Сервер, подобно клиенту, представляет собой автоматическую систему. Будем рассматривать для примера сервер www.company.cellular. Этот сервер может предполагать, что все подключающиеся к нему клиенты поддерживают конкретные возможности вместо того, чтобы использовать протоколы нижележащих уровней для определения возможностей клиентов. Допущения такого типа перечислены ниже.
- Алгоритм аутентификации
- Сервер может предполагать, что клиент поддерживает конкретный необязательный метод аутентификации и, следовательно, не поддерживает обязательный метод аутентификации.
- Язык
- Сервер может использовать тот или иной язык для представления документов на основе предположения, что обращающиеся к этому домену клиенты понимают этот язык, или предположения о том, что клиент с определенным адресом IP говорит на соответствующем языке.
- Форматы данных
- Сервер может предполагать, что клиент использует определенный набор типов MIME и способен передавать только такие типы. При генерации содержимого в протокольном отклике сервер игнорирует заголовки согласования содержимого, которые могли присутствовать в запросе. Например, сервер может игнорировать тег Accept HTTP и передавать изображение в том или ином специфическом формате.
- Расширения протокола
- Сервер может предполагать, что клиент поддерживает то или иное необязательное расширение протокола и не поддерживать согласование, которое необходимо, если клиент не поддерживает это расширение.
- Характеристики клиента
- Сервер может делать некоторые предположения о физических характеристиках своих клиентов (объем памяти, производительность процессора, размер экрана, глубина цвета, указательное устройство и т.п.). Основываясь на таких допущениях, сервер может выбирать свое поведение при обработке запроса. Например, web-сервер может всегда предполагать, что клиент подключен через сотовый телефон и, следовательно, возвращать содержимое с минимальным количеством графики и иными особенностями, используемые в подобных случаях.