nixp.ru v3.0

21 октября 2017,
суббота,
18:56:49 MSK

DevOps с компанией «Флант»
Longobard написал 25 апреля 2004 года в 12:43 (431 просмотр) Ведет себя как мужчина; открыл 291 тему в форуме, оставил 2499 комментариев на сайте.

У меня такое ощущение, что разработчики некоторых браузеров почти не читали RFC 2068. Потому что я тут тестировал парсер HTTP запроса, и мне приходили от некоторых людей ткие запросы:

GET /xyz.html HTTP/1.1

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.23  [en]

Host: longobard.local

Accept: text/html, application/xml;q=0.9, application/xhtml+xml;q=0.9, image/png, image/jpeg, image/gif, image/x-xbitmap, /;q=0.1

Accept-Language: en

Accept-Charset: windows-1252, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1

XXXXXXXXXXXXXXX: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Connection: Keep-Alive

Это запрос, пришедший ко мне, когда человек нажал http://longobard.local/xyz.html

Что это спрашивается за параметр XXXXXXXXXXXXXXXXXXXX: ???!!!???!!!

(Кстати, это было послано с Оперы 7.23 виндовой).

На это веселье не кончается:

в некоторых запросах я увидел поле Keep-Alive с какими-то бредовыми параметрами. суть в том, что в RFC 2068 ничего не сказано про этот параметр запроса. Там сказано про такие запросы:

general-header = Cache-Control            ; Section 14.9

                        | Connection               ; Section 14.10

                        | Date                     ; Section 14.19

                        | Pragma                   ; Section 14.32

                        | Transfer-Encoding        ; Section 14.40

                        | Upgrade                  ; Section 14.41

                        | Via                      ; Section 14.44

 request-header = Accept                   ; Section 14.1

                        | Accept-Charset           ; Section 14.2

                        | Accept-Encoding          ; Section 14.3

                        | Accept-Language          ; Section 14.4

                        | Authorization            ; Section 14.8

                        | From                     ; Section 14.22

                        | Host                     ; Section 14.23

                        | If-Modified-Since        ; Section 14.24

                        | If-Match                 ; Section 14.25

                        | If-None-Match            ; Section 14.26

                        | If-Range                 ; Section 14.27

                        | If-Unmodified-Since      ; Section 14.28

                        | Max-Forwards             ; Section 14.31

                        | Proxy-Authorization      ; Section 14.34

                        | Range                    ; Section 14.36

                        | Referer                  ; Section 14.37

                        | User-Agent               ; Section 14.42

И где здесь вашу маму параметр Keep-Alive???!! НЕТУ! Один из аргуметов параметра Connection может быть Keep-Alive, но параметра такого нету!

Коче того, выяснилось что Опера, которую я так любил, зачем-то посылает ТРИ запроса за раз. То есть я набираю урл http://localhost а она мне шлет ТРИ абсолютно одинаковых запроса. Для надежности чтоли ? :)

Короче так как по стандартам сервер обязан игнорировать неизвестные ему поля HTTP запроса, то такие через Ж*ПУ написаные бродилки работают. Но что же это такое началось то? Для кого запросы пишутся? А я еще хвалил оперую. Все эти три косяка наблюдаются только в запросах, посланных с Оперы. Все, больше я ее не юзаю. Простите за такую эмоциональность, просто взбесило.