Существуют ли какие-либо браузеры, поддерживающие Canvas HTML5, которые по умолчанию не используют «Accept-Encoding» gzip?

Я создаю веб-приложение, в котором при подключении к моему серверу у вас будет загружена одна простая HTML-страница с одним элементом Canvas на указанной странице. Если ваш браузер не поддерживает Canvas, вы получите сообщение с предложением обновить браузер вместо него. Если Canvas работает, между моим сервером и элементом canvas будет некоторая интерактивность.

Поскольку я пишу свой собственный сервер, мне не очень хочется должным образом придерживаться стандартов W3C для работы с 'Accept-Encoding', поскольку я бы предпочел избегать написания функции для правильной проверки того, какое сжатие подходит (поскольку существуют много других вещей, над которыми я бы предпочел поработать в своем веб-приложении). Тем не менее, я чувствую, что если браузер может поддерживать холст HTML5, то я могу предположить, что он отлично справится с Gzip-архивом, и я могу использовать Gzip-архив для всего интерактивного взаимодействия между браузером и моим сайтом, не беспокоясь о сбое.

Кто-нибудь знает какие-либо браузеры, которые имеют возможности HTML5 (в частности, Canvas в моем случае), но имеют проблемы с ответами Gzipped HTTP?

ПРИМЕЧАНИЕ. У меня не было опыта работы с браузерами, отличными от настольных. Мое приложение не предназначено для мобильных устройств (разрешение недостаточно велико для того, над чем я работаю), но мне было бы любопытно узнать, справедливо ли это и для мобильных браузеров.

С наилучшими пожеланиями, и спасибо за любые ответы заранее,
Сами


person thisissami    schedule 17.11.2011    source источник


Ответы (3)


Я бы посоветовал воздержаться от подобных предположений.

Браузер, о котором идет речь, может поддерживать Canvas, но он все равно может находиться за прокси-сервером, который по какой-то неизвестной причине не поддерживает сжатые ответы.

Вместо этого вы можете поместить свой пользовательский веб-сервер за широко используемым прокси-сервером, таким как Apache или Squid, и позволить этому прокси-серверу вести переговоры с клиентом за вас. Таким образом, ваш собственный веб-сервер будет иметь дело только с одним клиентом, что значительно упростит его реализацию. Этот промежуточный прокси также может позаботиться о многих проблемах безопасности за вас, так что вам не придется так сильно беспокоиться о хакерах, взломавших ваш веб-сервер.

person Martin    schedule 17.11.2011
comment
Если прокси-сервер по какой-то странной причине не поддерживает gzip-ответы, но все равно получает gzip-ответы, что он будет делать? не будет ли он пересылать его в браузер и просто отбрасывать ответ? - person thisissami; 17.11.2011
comment
Это зависит от прокси-сервера, но если он отправляет запрос на ваш сервер без каких-либо Accept-Encoding: gzip, возможно, он проигнорирует любой заголовок Content-Encoding и просто предположит, что ваш ответ не заархивирован. Возможно, это может привести к тому, что прокси-сервер снова заархивирует содержимое, прежде чем оно будет передано в браузер. Суть здесь в том, что вы не можете безопасно делать какие-либо предположения о транспортном уровне на основе других функций в браузере. Конечно, вы можете решить проигнорировать несколько клиентов, у которых могут возникнуть проблемы с этим, и вместо этого сосредоточиться на быстром получении результатов. - person Martin; 18.11.2011

Обратите внимание, что, хотя я не могу придумать ни одного браузера с этим ограничением, HTTP-прокси могут налагать ограничение. Поскольку это на транспортном уровне, вы не можете гарантировать поддержку необязательных частей.

person Yann Ramin    schedule 17.11.2011

Вот статья, в которой говорится, что 10% браузеров не поддерживали gzip по состоянию на 2009 г.: http://www.stevesouders.com/blog/2009/11/11/whos-not-getting-gzip/

При этом я думаю, что любой браузер, поддерживающий canvas, также будет поддерживать gzip (это легко добавить в код).

person Raymond Hettinger    schedule 17.11.2011