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