Использовать HTTP / 1.0 с .NET HttpListener Class -или- отключить запрос диапазона - PullRequest
1 голос
/ 27 ноября 2011

Я создаю небольшое встроенное веб-серверное приложение, использующее класс HttpListener . Когда я подаю документы MP3 (audio/mpeg) в Chrome (и другие проигрыватели), часто запускается несколько запросов, содержащих Range: заголовки. Я предполагаю, что это для поддержки поиска средств массовой информации.

Я не хочу поддерживать запросы диапазона в моем приложении. Можно ли перевести HttpListener в режим, в котором он возвращает HTTP/1.0 для протокола, чтобы пользовательские агенты не беспокоились о последующих запросах диапазона?

В качестве альтернативы, я могу отправить правильный ответ, указывающий клиенту, что я не буду удовлетворять запрос диапазона?

Редактировать: Я только что попробовал заголовки Accept-Ranges: none (как определено в RFC ), но браузер все равно сделал запрос с заголовком диапазона. Возможно, есть другой способ?

1 Ответ

2 голосов
/ 06 февраля 2012

Кажется, что большинство клиентов игнорируют Accept-Ranges: none, когда сервер говорит, что он поддерживает http 1.1.

Вы можете установить http версию 1.0 в вашем HttpListenerResponse на

response.ProtocolVersion = new Version("1.0");
...