FCGI_END_REQUEST и закрытие соединения

Pavel Labushev p.labushev at gmail.com
Tue Aug 25 23:07:28 MSD 2009


Denis F. Latypoff пишет:

>> Зависит от задач. Передавать переменные среды по HTTP однозначно
>> сложнее, с логированием и обработкой ошибок тоже не всё гладко.
> 
> Отделяем мух от котлет: переменные среды это уже не HTTP, а CGI протокол.

О том и речь. Передать переменные по FastCGI так же просто, как по CGI.
А для передачи по HTTP их надо помещать в заголовки на фронтенде и
вытаскивать на бэкенде, либо передавать их в модифицированном теле запроса.

> насчет, логгирования и обработки ошибок - можно подробнее?

Весь поток ошибок FastCGI-приложения инкапсулируется и в рамках той же
сессии передаётся фронтенду отдельно от стандартного вывода, в котором
идут заголовки и контент. Поэтому конечный клиент отдельную ругань
бэкенда не видит никогда. А фронтенд может разом залогировать под одним
идентификатором запрос к бэкенду, его ответ, и его же сообщения об
ошибках. В случае с HTTP отдавать ошибки отдельно от ответа нельзя, а
записи в логах сложнее сопоставлять.





More information about the nginx-ru mailing list