Я вижу много таких странных записей в моем журнале доступа к Apache:
SOME IP ADDRESS - - [23/Feb/2012:03:06:38 -0800] "GET /" 400 460 "-" "-"
Если я попытаюсь получить доступ к корню документа Apache, я получаю:
MY IP ADDRESS - - [24/Feb/2012:09:37:28 -0800] "GET / HTTP/1.1" 200 5464 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13"
Как другой IP мог выдать 400 вместо 200?
Он не отправил HTTP
строка версии (HTTP/1.1
или HTTP/1.0
), этот клиент не говорит правильный HTTP.
Он обязательно должен получить 400 Bad Request
ответ. Видеть RFC 2616:
Запрос не может быть понят сервером из-за неправильного синтаксиса.