Почему, когда я отсылаю на yandex.ru:80 запрос "OPTIONS * HTTP/1.0", он возвращает: Code: HTTP/1.1 200 OK Date: Thu, 04 Jun 2009 10:56:02 GMT Server: Apache/2.2.9 (Unix) mod_perl/2.0.4 Perl/v5.8.8 Content-Length: 0 Connection: close Content-Type: text/plain а при запросе "OPTIONS * HTTP/1.1": Code: HTTP/1.1 400 Bad Request Date: Thu, 04 Jun 2009 10:57:01 GMT Server: Apache/2.2.9 (Unix) mod_perl/2.0.4 Perl/v5.8.8 Vary: Accept-Encoding Content-Length: 226 Connection: close Content-Type: text/html; charset=iso-8859-1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>400 Bad Req uest</title> </head><body> <h1>Bad Request</h1> <p>Your browser sent a request that this server could not understand.<br /> </p> </body></html> т.е. ошибку, якобы он не может понять запрос? Ведь я указываю, что в первом запросе я хочу установить коннект через http версии 1.0, а он возвращает инфу о сервере и говорит, что установленный протокол - 1.1, а когда я шлю запрос с установкой коннекта через протокол 1.1, он отвечает, что не понимает запрос.
Не все серверы нынче подерживают OPTIONS, некоторые даже режут эту информацию... А яша вообще на RFC кладет
HTTP/1.1 требует за собой указание Host: хост. пример Code: nc -v localhost 80 POST /1.php HTTP/1.1 Host: localhost Content-type: application/x-www-form-urlencoded Content-length: 10 blabla=123 ответ сервака: Code: HTTP/1.1 200 OK Date: Wed, 29 Jul 2009 15:34 GMT Server: Apache/2.2.11 (Unix) PHP/5.3.0 X-Powered-By: PHP/5.3.0 Content-Length: 195 Content-Type: text/html <html> <head> <title>form</form> </head> <body> <form action="1.php" method="POST"> <input type=text" name="blabla" id="blabla" value="123"><input type="submit"> </form> </body> </html> ответ без указание хоста Code: HTTP/1.1 400 Bad Request ... <html><head> <title>400 Bad Request</title> </head><body> <h1>Bad Request</h1> <p>Your browser sent a request that this server could not understand.<br /> </p> </body></html> п.с. надо бы знать разницу между HTTP/1.0 и 1.1 !!!!!!!!!