Когда я телнет мой сервер подключается, однако после подключения telnet, если я запрашиваю ПОЛУЧИТЬ /, он не дает никакого ответа. Но после подключения по Telnet, если я запрошу GET / HTTP / 1.1, это дает мне ответ. Могу ли я узнать, что это проблема с брандмауэром, так как я не получаю ответа на ПОЛУЧИТЬ / но получить за GET / HTTP / 1.1
Оригинал HTTP 0.9 Протокол позволяет использовать один GET без указания протокола имени хоста. Например:
GET /index.html
Чтобы использовать HTTP 1.0, вам необходимо указать протокол, однако поле заголовка Host еще не было определено RFC так что не требуется. Пример запроса HTTP 1.0:
GET /index.html HTTP/1.0
Для HTTP 1.1 вам необходимо указать протокол И заголовок хоста согласно RFC 2616:
GET /index.html HTTP/1.1
Host: www.example.com
Возможно, ваши веб-серверы поддерживают разные версии протокола HTTP, и поэтому некоторые из них принимают запрос в стиле HTTP 0.9, а другие, более новые серверы, нет.
Хотя простые веб-серверы могут отвечать на «GET /», это не правильный / истинный / совместимый запрос, поэтому ни брандмауэр, ни даже веб-сервер не анализирует и не обрабатывает запрос.