ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[apache-talk] Двойной ответ Апача



Здравствуйте apache-talk,

делаю запрос к хосту softbn.ru:

GET /p/c.cgi?b=222&s=1&o=-180 HTTP/1.1
Host: softbn.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; ru-RU; rv:1.7.5) Gecko/20041108 Firefox/1.0
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: ru-ru,ru;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://softbn.ru/p/0.cgi?s=1&n=6&o=-180&r=279774978
Cookie: c=52912

получают вот такой ответ:

HTTP/1.1 302 Found
Date: Tue, 23 Nov 2004 11:54:11 GMT
Server: Apache
Set-Cookie: s=1; domain=.softbn.ru; path=/p/; expires=Fri Nov 18 11:54:11 2005
Set-Cookie: b=222; domain=.softbn.ru; path=/p/; expires=Fri Nov 18 11:54:11 2005
Set-Cookie: ps=0; domain=.softbn.ru; path=/p/; expires=Fri Nov 18 11:54:11 2005
Set-Cookie: pa=9; domain=.softbn.ru; path=/p/; expires=Fri Nov 18 11:54:11 2005
P3P: policyref="/w3c/p3p.xml", CP="CUR ADM OUR NOR STA NID"
Location: http://www.best-hosting.ru/dedicated_server.asp
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html

309
HTTP/1.1 302 Found
Date: Tue, 23 Nov 2004 11:54:11 GMT
Server: Apache
Set-Cookie: s=1; domain=.softbn.ru; path=/p/; expires=Fri Nov 18 11:54:11 2005
Set-Cookie: b=222; domain=.softbn.ru; path=/p/; expires=Fri Nov 18 11:54:11 2005
Set-Cookie: ps=0; domain=.softbn.ru; path=/p/; expires=Fri Nov 18 11:54:11 2005
Set-Cookie: pa=9; domain=.softbn.ru; path=/p/; expires=Fri Nov 18 11:54:11 2005
Location: http://www.best-hosting.ru/dedicated_server.asp
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>302 Found</TITLE>
</HEAD><BODY>
<H1>Found</H1>
The document has moved <A HREF="http://www.best-hosting.ru/dedicated_server.asp";>here</A>.<P>
</BODY></HTML>

0

В  чём  может  быть причина такого странного ответа? И откуда в ответе
взялись  309  в середине и 0 c 0D0A в конце? Видно что какой-то модуль
или  что-то  ещё дублирует заголовок, приписывая дефолтную кодировку и
удаляя политику для кук. Как избавться от этого?

Всё работает по FreeBSD 2.5.1, версия Апача поседняя, последняя версия
mod_deflate.

Скрипт, который генерит ответ, приблизительно следующий:

#!/usr/local/bin/perl -w

use strict;
use POSIX qw(locale_h);
use locale;
setlocale(LC_CTYPE, "ru_SU.WINDOWS-1251");

use Apache::Request();
use Apache::Constants qw(OK REDIRECT);
use Apache::Cookie;

my $r=Apache->request();

$r->headers_out->add( 'P3P'=> 'policyref="/w3c/p3p.xml", CP="CUR ADM OUR NOR STA NID"');
my $cookie = Apache::Cookie->new($r,
                                -name=>'s',
                                -value=>1,
                                -expires=>scalar(gmtime(time+12*30*60*60*24)),
                                -path=>'/p/',
                                -domain=>'.softbn.ru');
$cookie->bake;

$cookie = Apache::Cookie->new($r,
                                -name=>'b',
                                -value=>22,
                                -expires=>scalar(gmtime(time+12*30*60*60*24)),
                                -path=>'/p/',
                                -domain=>'.softbn.ru');
$cookie->bake;

$cookie = Apache::Cookie->new($r,
                                -name=>'ps',
                                -value=>0,
                                -expires=>scalar(gmtime(time+12*30*60*60*24)),
                                -path=>'/p/',
                                -domain=>'.softbn.ru');
$cookie->bake;

$cookie = Apache::Cookie->new($r,
                                -name=>'pa',
                                -value=>9,
                                -expires=>scalar(gmtime(time+12*30*60*60*24)),
                                -path=>'/p/',
                                -domain=>'.softbn.ru');
$cookie->bake;

undef $cookie;

$r->headers_out->set(Location => $banner_link);
$r->status(REDIRECT);
$r->send_http_header;

#записываем клик в БД
#...

return OK;

Или у меня скрипт неверно отрабатывает?

Похожая ситуация, только ответ не дублируется, а в него вставляется
какая-то цифра непонятная:

Запрос к хосту softbn.ru:

GET /p/0.cgi?s=1&n=6&o=-180&r=220386174 HTTP/1.1
Host: softbn.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; ru-RU; rv:1.7.5) Gecko/20041108 Firefox/1.0
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: ru-ru,ru;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://softsearch.ru/catalog/utility/disk/
Cookie: c=52912

получаем ответ:

HTTP/1.1 200 OK
Date: Tue, 23 Nov 2004 11:55:41 GMT
Server: Apache
Pragma: no-cache
Cache-control: no-cache
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=windows-1251
Expires: Tue, 23 Nov 2004 11:55:41 GMT

d66
<head></head>
<body bgcolor="#FFFFFF" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" scroll="no"><nobr>
...
</nobr></body></html>

0

Опять к концу приписался ноль и парочка 0D0A за ним, а перед контентом
'd66' . Что это может быть?

С уважением,
Михаил Монашёв, SoftSearch.ru
Member of Independent Software Developers Forum (ISDEF)
mailto:postmaster@xxxxxxxxxxxxx
ICQ# 166233339
http://softsearch.ru/
Без бэкапа по жизни.



 




Copyright © Lexa Software, 1996-2009.