Re: Документация к директиве fastcgi_cache_key

Илья Шипицин chipitsine на gmail.com
Пт Ноя 30 10:36:08 UTC 2018


протоколы действительно разные.
но выглядит так, что предложение Гены поможет написать документацию, более
устойчивую к тупому копипасту (есть такой патерн, что глядя на пример
документации на авторитетном сайте, его копируют)

пт, 30 нояб. 2018 г. в 14:30, Gena Makhomed <gmm на csdoc.com>:

> On 29.11.2018 21:02, Maxim Dounin wrote:
>
> > CGI и HTTP - это два разных протокола.  В последних вариациях на
> > тему спецификации CGI записано, что на HEAD-запросы тело
> > возвращать не надо (а если вдруг вернули - то сервер его должен
> > поскипать), https://tools.ietf.org/html/rfc3875#section-4.3.3:
> >
> >     The HEAD method requests the script to do sufficient processing to
> >     return the response header fields, without providing a response
> >     message-body.  The script MUST NOT provide a response message-body
> >     for a HEAD request.  If it does, then the server MUST discard the
> >     message-body when reading the response from the script.
> >
> > Однако на момент собственно появления и активного распространения
> > CGI никаких подобных требований не существовало, см.
> > https://www.w3.org/CGI/ и в частности
> > https://tools.ietf.org/html/draft-robinson-www-interface-00.
>
> Там написано:
>
> REQUEST_METHOD
>
>        This variable is specific to requests made with HTTP.
>
>        The method with which the request was made, as described in
>        section 5.1.1 of the HTTP/1.0 specification [3].
>
>           http-method      = "GET" | "HEAD" | "POST" | extension-method
>
> "described in HTTP/1.0 specification" - написано где смотреть семантику.
> А в HTTP/1.0 specification написано, что "server must not return any
> Entity-Body in the response".
>
> CGI и HTTP - это два разных протокола, но первый ссылается на второй.
> При этом CGI протокол не запрещает бекенду отвечать на HEAD-запросы
> так, как этого требует от веб-сервера спецификация HTTP протокола.
>
> > И на
> > практике я не встречал скрипты, которые бы отдельно обрабатывали
> > HEAD-запросы.
>
> Но они есть.
> И их поведение ничем не противоречит спецификации FastCGI протокола.
>
> >>> Речь про какие-то фреймворки, которые обрабатывают
> >>> HEAD автоматически, не донося соответствующую информацию до кода?
> >>> Или про какой-то стандартный софт, который не возвращает тело для
> >>> HEAD-запросов?
> >>
> >> Какая разница, сам софт или фрейморк используемый софтом в каждом
> >> конкретном случае обрабатывает HEAD запросы согласно требований RFC?
> >
> > Никакой.  Но с этой точки зрения так же нет разницы, что именно
> > написано в примерах в описании директивы fastcgi_cache_key.
>
> Вы не против, если я создам на хабре статью, в которой напишу
> про эту проблему с ошибочными примерами в документации nginx
> к директиве fastcgi_cache_key и ее аналогам?
>
> --
> Best regards,
>   Gena
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20181130/7bbcfa2e/attachment-0001.html>


Подробная информация о списке рассылки nginx-ru