Привет, есть nginx сервер, на нем модуль nginx-push-stream-module, который позволяет отправлять локально пост-запрос на какой-то url, а клиентом через get подписываться на эту информацию.
Проблема в том, что отправлять мне надо массив байтов, а через get-запрос получаем информацию вида:
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 13 Apr 2012 07:37:40 GMT
Content-Type: binary/octet-stream
Connection: close
Transfer-Encoding: chunked
BIARY DATA HERE
Вопрос в том, как отключить отправку этих заголовков? Можно ли явно указать, что я отсылаю тупо набор байт и мне нужно их получить без всякой дополнительной информации?
В конфиге nginx я пытался прописать: http {
gzip on;
server_tokens off;
default_type binary/octet-stream;
...
server {
...
chunked_transfer_encoding off;
push_stream_content_type "binary/octet-stream";
}
}
Это HTTP протокол, так что как минимум HTTP/1.1 200 OK\n\n вы получите всегда, остальные заголовки можно убрать. Я так понимаю у вас клиенты — не браузеры? Попробуйте в своем клиенте просто отфильтровывать заголовки. Тело ответа идет после \n\n
Хорошо, а как можно убрать остальные заголовки? Клиентов будет очень много, не хотелось бы рассылать еще и хедеры. Да, получает не браузер, отфильтровать можем, но наделись на отключение.
Чего то думал, что в nginx есть команда для скрытия заголовков, но как оказалось она только для модуля proxy_cache тоесть для проксированного контента. Так что думаю скрыть все заголовки можно только поковырявшись в исходниках.