Я бы хотел отключить поддержку HTTP/1.0
на моих веб-серверах. На этих серверах размещаются обычные веб-сайты (MVC.NET).
HTTP/1.0
о чем я должен знать?HTTP / 1.1 был представлен 20 лет назад, в январе 1997 года. Каждый современный браузер использует его, поэтому отключение поддержки HTTP / 1.0 не повлияет ни на одного реального пользователя. Некоторые поисковые роботы утверждают, что используют HTTP/1.0
, но поскольку они появляются в журналах виртуальных хостов (не поддерживаются в HTTP / 1.0), я сомневаюсь, что они должны полностью поддерживать HTTP / 1.1.
Краткое объяснение различий см. RFC 2616 19.6.1. Если вы хотите более глубокого понимания, прочтите Ключевые различия между HTTP / 1.0 и HTTP / 1.1.
Вернемся к одному из основных отличий, виртуальным хостам, уже упомянутым в первом абзаце:
Например, если пользователь делает запрос ресурса по URL
http://example1.org/home.html
, браузер отправляет сообщение со строкой запросаGET /home.html HTTP/1.0
на сервер в
example1.org
. Это предотвращает привязку другого имени хоста HTTP-сервера, напримерexampleB.org
на тот же IP-адрес, поскольку сервер, получающий такое сообщение, не может определить, для какого сервера это сообщение предназначено. Таким образом, распространение тщеславных URL приводит к увеличению количества выделенных IP-адресов.Руководящая группа Интернет-инжиниринга (IESG), которая управляет процессом IETF, настаивала на том, чтобы HTTP / 1.1 предпринял шаги для улучшения сохранения IP-адресов. Поскольку HTTP / 1.1 должен был взаимодействовать с HTTP / 1.0, он не мог изменить формат строки запроса, чтобы включить имя хоста сервера. Вместо этого HTTP / 1.1 требует, чтобы запросы включали
Host
заголовок, впервые предложенный Джоном Фрэнксом [Fra94], который несет имя хоста. Это преобразует приведенный выше пример в:GET /home.html HTTP/1.1 Host: example1.org
Если URL-адрес ссылается на порт, отличный от порта по умолчанию (TCP-порт 80), это также указывается в заголовке Host.
Виртуальные хосты в наши дни настолько распространены, что их действительно очень мало. Посмотрите, получаете ли вы одну и ту же страницу с вашим доменным именем и IP-адресом или нет. Если вы этого не сделаете, вы уже не полностью поддерживаете HTTP / 1.0 на практике; отказ от него не будет радикальным изменением.