2010-05-27 3 views
6

Если компрессия настроена на tomcat, будет ли она также сжимать данные, которые загружаются клиентом - через браузер/апплет?tomcat compression

ответ

6

Нет, это не так. Он применяется только к ответу сервера. Клиент должен сжать данные запроса самостоятельно. Не имеет смысла посылать данные от клиента, несжатого по сети, на сервер сначала, а - тогда сжимается там. Он не будет иметь никаких преимуществ (т. Е. Сбережения пропускной способности сети и т. Д.).

Сжатие HTTP-запросов, однако, не является частью спецификации HTTP, так как клиент не может знать заранее, поддерживает ли сервер его. Сначала он должен запустить весь запрос. Он указан только для ответов HTTP. Сервер может определять на основе заголовка запроса Accept-Encoding, если клиент поддерживает сжатие или нет, а затем обрабатывает соответственно.

В апплете вы можете рассмотреть возможность передачи данных с помощью GZIPOutputStream. Вам нужно будет только создать определенный сервлет на стороне сервера, который прослушивает только запросы от апплета и знает, что ему необходимо разжать HttpServletRequest#getInputStream(), используя GZIPInputStream

+0

Спасибо за быстрый ответ. Ценить это. – bubbly

+0

Добро пожаловать. – BalusC