HTTP заголовки - 2

Дмитрий IC Book

Новичок
HTTP заголовки - 2

Будьте добры, подскажите как в РНР послать данные без НТТР заголовка (Сontent-type:... и т.д.)?
Возможно ли вообще отключение НТТР заголовков?
 

McSimm

Новичок
Возможно ли вообще отключение НТТР заголовков?
можно использовать CLI версию как CGI

Отключить в модульной, кажется, нельзя. Во всяком случае я не знаю.
 

chisto_tolyan

Враг народа
оч интересно, как в CLI отключить HTTP заголовки)))да и кому и чем они мешают?)
 

Дмитрий IC Book

Новичок
У меня на стороне клиента (т.е. вместо браузера) свой софт,
который работает с ТСР-ІP.
И мне очень важно, чтобы пакет был минимального размера.
Данных у меня 2 байта.
А вот эти НТТР-header'ы мне создают десятки лишних
байт трафика.
В данной ситуации это очень принципиально.

Сначала все делалось на ПЁРЛе. Там НТТР нужно делать самому
Но интерпретатор оказался очень не стабильным.
 

chisto_tolyan

Враг народа
вообще их убрать не получится никак)все что нужно пхп сам посылает, а десяток "лишних" байт трафика тебя не разорят я думаю)
 

McSimm

Новичок
оч интересно, как в CLI отключить HTTP заголовки
их там нельзя включить. выводить надо все самому.

Дмитрий IC Book
сомнения меня берут относительно нестабильности Perl компилятора. Но это вам виднее и офтопик.

Вы можете настроить, как я уже написал, выполнение PHP CLI версии как CGI
например в настройках apache:
AddHandler cgi-script .XXX
---
file test.xxx :
PHP:
#!/usr/local/bin/php
<?php
    print "Hi\n";
?>
вернет вам строку без единого заголовка, как вам и надо
 

Дмитрий IC Book

Новичок
Автор оригинала: chisto_tolyan
вообще их убрать не получится никак)все что нужно пхп сам посылает, а десяток "лишних" байт трафика тебя не разорят я думаю)
Та там не в количестве трафика дело.
Это микродевайс и каждый байт RAM'а на счету.
 

McSimm

Новичок
разумеется скрипт должен лежать в папке, где разрешены cgi и PHP должен быть CLI версии (php -v должен вывести PHP x.x.xx (cli) )
 

Tor

Новичок
тогда нужно не через апач работать, а повесить скрипт на порт
 

Дмитрий IC Book

Новичок
Автор оригинала: McSimm
их там нельзя включить. выводить надо все самому.

Дмитрий IC Book
сомнения меня берут относительно нестабильности Perl компилятора. Но это вам виднее и офтопик.
Perl не выгружается корректно с памяти. И если интенсивный
обмен устройств с сервером, причем сесии не всегда корректно
завершаются, то система (сервер) через час-другой виснет.

Кроме того код пишется универсальный и софт-сервером не
всегда будет Apache. Да и нет возможности доступа к настройкам
системы, Apach'a и РНР.
Кроме этого, CLI не всюду и всегда доступен.
Подрозумивается только РНР с минимальным,
поддерживаемым всеми версиями, функциональным набором.

Наверное, пойдем другим путем.
Огромное всем СПАСИБО !
 

McSimm

Новичок
а как без заголовков передать что-то?)
достаточно это что-то поместить в stdout
я привел пример

Tor
"повесить скрипт на порт" это переводится как использовать какой-либо сервер, умеющий слушать порт и исполнять скрипты.
например apache
 

Дмитрий IC Book

Новичок
Автор оригинала: McSimm
достаточно это что-то поместить в stdout
я привел пример

Tor
"повесить скрипт на порт" это переводится как использовать какой-либо сервер, умеющий слушать порт и исполнять скрипты.
например apache
stdout - тоже дает заголовки.
Я пробывал:
<?php
$fp = fopen ("php://stdout", "w");
fputs($fp,"1234",1);
fclose($fp);
return(0);
?>

На стороне клента получил:
"1234Content-type: text/html"
"<\r><\n><\r><\n>"
:)
так что заголовки были, есть и будут есть, по-любому :(
 

romy4

invoke [brain]
McSimm:) запускается процесс и в бесконечном цикле слушается порт через сокет:) в мане даже пример есть.
можно и без апача, а запустить просто как cli
 

McSimm

Новичок
Дмитрий IC Book
Разумеется я говорил о CLI
( Чтобы поместить в stdout достаточно выполнить print )

я пример привел, на стороне клиента вы получите не больше чем Hi\n
 

Фанат

oncle terrible
Команда форума
Дмитрий IC Book
то есть, ты хочешь сказать, что ты от него отказываешься?
 

chisto_tolyan

Враг народа
я что-то изначально думал, что пхп скрипт на одном сервере, а микро девайс на другом...
 
Сверху