Книга: Выразительный JavaScript
Упражнения
Согласование содержания (content negotiation)
Одна из вещей, которые HTTP умеет делать, но которую мы не обсуждали, называется согласованием содержания. Заголовок Accept
в запросе можно использовать для сообщения серверу того, какие типы документов клиент желает получить. Многие серверы его игнорируют, но когда сервер знает о разных способах кодирования ресурса, он может взглянуть на заголовок и отправить тот, который предпочитает клиент.
URL eloquentjavascript.net/author настроен на ответ как прямым текстом, так и HTML или JSON, в зависимости от запроса клиента. Эти форматы определяются стандартизированными типами содержимого text/plain, text/html, и application/json.
Отправьте запрос для получения всех трёх форматов этого ресурса. Используйте метод setRequestHeader
объекта XMLHttpRequest
для установки заголовка Accept
в один из нужных типов содержимого. Убедитесь, что вы устанавливаете заголовок после open
, но перед send
.
Наконец, попробуйте запросить содержимое типа application/rainbows+unicorns
и посмотрите, что произойдёт.