Intereting Posts
php, pdo mysql не может вставляться с внутренним соединением Проверьте, существует ли имя пользователя в таблице mysql через php? ZF2 + Doctrine 2 – дискриминаторы на уровне ребенка с наследованием класса вставлять случайно названные mp3 в html Как экспортировать миллионы строк из MySQL в CSV через PHP без исчерпания памяти? Почему определенные типы подготовленных запросов с использованием PDO в PHP с MySQL медленны? Загрузка медиафайлов в WordPress Получение всех дат по понедельникам и вторникам на следующий год Как запустить скрипты php параллельно? jQuery изменить размер изображения перед сохранением Использование jQuery .load () для передачи параметра и вызова функции php PHP: Запомнить меня и безопасность? Проверка покупок (квитанций) Windows 8 с использованием PHP аутентификация laravel с красноречивым драйвером по ролям Могу ли я иметь метод класса, который включает файл заголовка для меня в PHP?

Почему тело ответа HTTP содержит «2fb» в начале?

Я выполняю некоторые запросы API, используя fsockopen () в PHP. Для большинства API, которые работают правильно, но из http://geocoding.cloudmade.com/ Я получаю следующий (RAW) ответ:

HTTP/1.1 200 OK Server: nginx/0.6.35 cache-control: no-cache Content-Type: application/json; charset=utf-8 Date: Tue, 19 Feb 2013 11:08:05 GMT pragma: no-cache Transfer-Encoding: chunked Connection: close 2fb {"found": 1, "bounds": [[52.48732, 13.42553], ... 0 

Моя проблема в том, что «2fb» в первой строке и «0» в последней строке тела ничего не говорит. Если я отправляю тот же запрос через Firefox, тело не содержит «2fb» или «0». Поэтому, я думаю, это имеет некоторый смысл. Но что?

Спасибо за подсказки!

Это chunked transfer-coding , также обозначаемое заголовком ответного Transfer-Encoding: chunked :

Кодовое кодирование изменяет тело сообщения, чтобы передать его в виде серии кусков, каждый со своим собственным индикатором размера, за которым следует ДОПОЛНИТЕЛЬНЫЙ трейлер, содержащий поля заголовка объекта. Это позволяет передавать динамически созданный контент вместе с информацией, необходимой для получателя, чтобы убедиться, что он получил полное сообщение.

2fb , за которым следует \r\n , указывает размер следующего фрагмента (763 байта). Размер блока размером 0 указывает последний кусок.