2

Может ли кто-нибудь проверить, верны ли мои предположения?

Мне кажется, самый популярный браузер (Chrome, Firefox, ...) как стандарт отправляет запросы с HTTP/1.1 в каждой строке запроса.

Я думаю, что ответ HTTP/1.1 дается, определяется веб-сервером (например, конкретной версией Apache, Nginx, ...), на котором размещено веб-приложение. Я предполагаю, что все современные веб-серверы теперь имеют HTTP/1.1. Если веб-сервер не поддерживает HTTP/1.1, я думаю, что он будет интерпретировать запрос HTTP/1.1, как если бы это был HTTP/1.0, и даст ответ HTTP/1.0.

1 ответ1

2

Да, я думаю, что у вас есть суть этого с одним исключением:

  1. каждый запрос указывает уровень протокола http
  2. веб-сервер решает, что делать по-разному (если вообще что-то), основываясь на запросе с версионированием уровня вверх / вниз.
  3. HTTP / 1.1 хорошо зарекомендовал себя, и любой достойный сервер его поддержит.

Однако соответствие версии не так адаптивно, как вы предлагаете. если в запросе клиента указана ОСНОВНАЯ версия, которую сервер не поддерживает, сервер отвечает

505 HTTP Version Not Supported

в вашем случае 1.1 и 1.0 используют основную версию, поэтому (за некоторыми исключениями) ваше предположение верно, сервер попытается ответить на запрос более низкого уровня.

Для получения дополнительной информации о кодах ответов http см. RFC 2616, раздел 10 и раздел 3.1.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .