chunked без чанков?

arkady

Новичок
chunked без чанков?

Всем здравствуйте.

Второй день не могу понять.
Сервер: Apache 2.2.4, на локале, windows, PHP 5.2.1
Клиент: Firefox 2.0 + HTTPdebugger (типа сниффера)
В башке: PHP manual + Apache manual + RFC-2616

Посылаю запрос
Код:
POST /main.php?cmd=feelimits&action=edit&id=1&BankID=&CurrID=-1&IsForeign=0&OperKind=0 HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; ru; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
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.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: [url]http://localhost/main.php?cmd=feelimits&action=edit&id=1&BankID=&CurrID=-1&IsForeign=0&OperKind=0[/url]
PHPSESSID=kfa7uut11o9j9on49arvjlshq1
Cache-Control: max-age=0
Content-Type: application/x-www-form-urlencoded
Content-Length: 194
Получаю отклик

Код:
HTTP/1.1 200 OK
Date: Sat, 28 Apr 2007 10:25:06 GMT
Server: Apache/2.2.4 (Win32) PHP/5.2.1
X-Powered-By: PHP/5.2.1
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: last_action_time=1177755906; expires=Wed, 13-Sep-2034 10:25:06 GMT
Set-Cookie: check_cookie=1
Keep-Alive: timeout=30, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Typ!" content="text/html; charset=windows-1251">
<link href="style.css" rel="stylesheet" type="text/css">
<script language="JavaScript" src="md5.js"></script>
.........
и т.д. до конца HTML
Как видно, блоков chunk в теле отклика нет.
Спрашивается: каким образом определяется конец отклика? Разрыва соединения после передачи происходить не должно: стоит Keep-Alive, и за этим ответом следует куча запросов (style.css, md5.js и др.)
А мне надо поймать программно HTTP-сообщение поверх TCP, тут надо знать, где оно заканчивается.
Буду страшно признателен за указания.
Впрочем, без особой надежды...:confused:
 

arkady

Новичок
chunked без чанков?

Всем здравствуйте.

Второй день не могу понять.
Сервер: Apache 2.2.4, на локале, windows, PHP 5.2.1
Клиент: Firefox 2.0 + HTTPdebugger (типа сниффера)
В башке: PHP manual + Apache manual + RFC-2616

Посылаю запрос
Код:
POST /main.php?cmd=feelimits&action=edit&id=1&BankID=&CurrID=-1&IsForeign=0&OperKind=0 HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; ru; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
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.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: [url]http://localhost/main.php?cmd=feelimits&action=edit&id=1&BankID=&CurrID=-1&IsForeign=0&OperKind=0[/url]
PHPSESSID=kfa7uut11o9j9on49arvjlshq1
Cache-Control: max-age=0
Content-Type: application/x-www-form-urlencoded
Content-Length: 194
Получаю отклик

Код:
HTTP/1.1 200 OK
Date: Sat, 28 Apr 2007 10:25:06 GMT
Server: Apache/2.2.4 (Win32) PHP/5.2.1
X-Powered-By: PHP/5.2.1
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: last_action_time=1177755906; expires=Wed, 13-Sep-2034 10:25:06 GMT
Set-Cookie: check_cookie=1
Keep-Alive: timeout=30, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Typ!" content="text/html; charset=windows-1251">
<link href="style.css" rel="stylesheet" type="text/css">
<script language="JavaScript" src="md5.js"></script>
.........
и т.д. до конца HTML
Как видно, блоков chunk в теле отклика нет.
Спрашивается: каким образом определяется конец отклика? Разрыва соединения после передачи происходить не должно: стоит Keep-Alive, и за этим ответом следует куча запросов (style.css, md5.js и др.)
А мне надо поймать программно HTTP-сообщение поверх TCP, тут надо знать, где оно заканчивается.
Буду страшно признателен за указания.
Впрочем, без особой надежды...:confused:

-~{}~ 28.04.07 16:17:

Вопрос снят.
Чанки в ответе на самом деле присутствуют, только HTTPdebugger их почему-то проглатывает. Написал примитивный прокси и увидел.
...Иногда все-таки полезней шевелить руками, чем не мозгами.
 
Сверху