Случайно обнаружил, что на некоторые запросы, nginx отвечает не так, как это предписано RFC:
1. Если в запросе указана неверная версия HTTP, то сервер по идее должен вернуть 505, однако имеем следующее:
# nc 127.0.0.1 443 <<EOF
> GET / HTTP/3.0
> Host: www.site.ru
>
> EOF
HTTP/1.1 200 OK
Server: nginx/1.0.4
Date: Sun, 16 Oct 2011 12:56:28 GMT
Content-Type: text/html
Content-Length: 153
Last-Modified: Mon, 10 Oct 2011 08:55:59 GMT
Connection: keep-alive
Accept-Ranges: bytes
<html>
<head>
<title>Welcome to nginx!</title>
</head>
<body bgcolor="white" text="black">
<center><h1>Welcome to nginx!!!</h1></center>
</body>
</html>
2. Если в запросе используется метод, неизвестный серверу, но синтаксических ошибок нет, то сервер должен вернуть 501, однако:
# nc 127.0.0.1 443 <<EOF
> F / HTTP/1.1
> Host: www.site.ru
>
> EOF
HTTP/1.1 405 Not Allowed
Server: nginx/1.0.4
Date: Sun, 16 Oct 2011 12:57:42 GMT
Content-Type: text/html
Content-Length: 172
Connection: keep-alive
<html>
<head><title>405 Not Allowed</title></head>
<body bgcolor="white">
<center><h1>405 Not Allowed</h1></center>
<hr><center>nginx/1.0.4</center>
</body>
</html>