Re: Редирект HTTP заголовком "Location"
Бойко Артем
chubako at yandex.ru
Mon May 5 21:51:27 MSD 2008
Ну смотрите, вы неправы.
Поясню еще раз суть.
В процессе участвуют 4 стороны (в порядке запроса):
1. браузер (сами понимаете, ошибка не здесь)
2. nginx
3. fastcgi-сервер (просто передает всю информацию от этапа 4 в этам 2).
4. конечная программа (ошибка точно не в ней, она работает отлично с apache. да и вообще конечной программой может быть любой бинарный файл. и мой пример не работает. вообщем точно не здесь)
Мне кажеться я дал всю информацию... если еще что нужно будет - отпишите, хотя не вижу смысла. Реально нужно смотреть в HTTP ответ - я не понимаю почему нет редиректа.
Кстати, апаче отдает редирект с кодом 302, а nginx - с 200. Может в этом ?
05.05.08, 21:33, "Alexey Mahotkin" <squadette at gmail.com>:
> То есть мы должны assume, что Всё Остальное в этой Прекрасной
> Программе -- Обсалютно Правильно? ;)
> Что вообще хочется от community?
> Вот ещё вопрос, например:
> Я написал компилятор, и он криво оптимизирует. Код такой:
> int main() {
> /* ... пропущено ... */
> return 0;
> }
> где ошибка?...
> 2008/5/5 Бойко Артем <chubako at yandex.ru>:
> > Спасибо, я зняю. В примере опечатался. Но сути не меняет. Редиректа нет.
> >
> >
> >
> > 05.05.08, 21:17, "Alexey Mahotkin" <squadette at gmail.com>:
> >
> >
> >
> >
> > > Потому что HTTP-заголовки разделяются символами \r\n
> >
> > > 2008/5/5 Бойко Артем <chubako at yandex.ru>:
> >
> >
> >
> > > > Здравствуйте.
> >
> > > >
> >
> > > >
> >
> > > >
> >
> > > > Я разрабатываю fastcgi сервер для обработки CGI скриптов и почемуто nginx некоторые программы обрабатывает по другому нежели Apache.
> >
> > > >
> >
> > > >
> >
> > > >
> >
> > > > Например, nginx запрашивает файл, fastcgi его выполняет и возвращает результат. Программа содержит код (та, которую выполняет fastcgi сервер):
> >
> > > >
> >
> > > >
> >
> > > >
> >
> > > > #include <stdio.h>
> >
> > > >
> >
> > > >
> >
> > > >
> >
> > > > void main()
> >
> > > >
> >
> > > > {
> >
> > > >
> >
> > > > /* ... */
> >
> > > >
> >
> > > > printf("Location: http://google.com.ua\n");
> >
> > > >
> >
> > > > /* ... */
> >
> > > >
> >
> > > > return 0;
> >
> > > >
> >
> > > > }
> >
> > > >
> >
> > > >
> >
> > > >
> >
> > > > Получаю такой ответ от сервера:
> >
> > > >
> >
> > > > --- начало ---
> >
> > > >
> >
> > > > HTTP/1.1 200 OK
> >
> > > >
> >
> > > > Server: nginx/0.6.30
> >
> > > >
> >
> > > > Date: Mon, 05 May 2008 16:45:48 GMT
> >
> > > >
> >
> > > > Content-Type: text/html
> >
> > > >
> >
> > > > Transfer-Encoding: chunked
> >
> > > >
> >
> > > > Connection: close
> >
> > > >
> >
> > > > Location: http://google.com.ua/
> >
> > > >
> >
> > > >
> >
> > > >
> >
> > > > 0
> >
> > > >
> >
> > > >
> >
> > > >
> >
> > > > --- конец ---
> >
> > > >
> >
> > > >
> >
> > > >
> >
> > > > Но почемуто редирект не происходит. Проблема именно с редиректом, почемуто не срабатывает. Тоесть nginx отпрашивает fastcgi сервер, он ему передает строку Location, но дальше nginx отдает такие заголовки, что браузер не хочет делать редирект.
> >
> > > >
> >
> > > >
> >
> >
> >
> > --
> >
> > Яндекс.Почта. Поищите спам где-нибудь еще http://mail.yandex.ru/nospam
> >
> >
--
Зал славы: все победители конкурсов на Яндекс.Фотках http://fotki.yandex.ru/contests.xml
More information about the nginx-ru
mailing list