2015-05-20 2 views
5

Пусть говорит, у меня есть ф 1.2.3.4 и я замэпил следующих именаHttp код ответа на недействительный/пропущенном имя хоста

folk.dude.cool 
homie.dude.cool 
bro.dude.cool 
pal.dude.cool 
buddy.dude.cool 

проверить значение Host заголовка в моем HTTP-сервере, чтобы направить запрос в соответствующем модуль.

Теперь, какой код ответа http должен отвечать (400?, 502?) клиенту, когда значение с заголовком Host пропущено или недействительно? Я отмечаю, что мне нравится показывать страницу с ошибкой, а не пересылать имя по умолчанию.

спасибо.

ответ

3

Это некорректное сообщение, таким образом, 400.

3

Джулиан правильно:

RFC 2616 - 14.23 Host

... Клиент должен включать поле заголовка хоста во все HTTP/1.1 запроса сообщения , Если запрошенный URI не содержит имя интернет-хоста для запрашиваемой услуги, то поле заголовка хоста ДОЛЖНО быть с пустым значением. Прокси-сервер HTTP/1.1 ДОЛЖЕН обеспечить, чтобы любое сообщение запроса , которое оно направляет, содержит соответствующее поле заголовка узла , которое идентифицирует запрос, запрашиваемый прокси-сервером. Все Интернет-серверы HTTP/1.1 ДОЛЖНЫ ответить с кодом состояния 400 (Bad Request) на любое сообщение с запросом HTTP/1.1, которому не хватает заголовка Host .

Когда у вас есть протокольные вопросы, RFC немного сухие, чтобы читать, но очень информативно.

Смежные вопросы