Библиотека JavaScript для сжатия данных POST? - PullRequest
2 голосов
/ 13 марта 2012

Я создаю расширение Chrome, которое будет отправлять строки HTML на сервер с помощью POST-запросов.

Я бы хотел сжать эти строки перед отправкой, так как некоторые из них могут быть довольно большими.

Существуют ли какие-либо библиотеки JavaScript, способствующие этому?

1 Ответ

0 голосов
/ 17 июля 2013

В итоге я использовал библиотеку RawDeflate , чтобы добиться сжатия от тридцати до пятидесяти процентов.Это работало лучше, чем все методы, перечисленные в SO вопрос , связанный в комментариях.

Я написал следующий класс Ruby для раздувания данных на сервере.

require "zlib"
require "base64"

class Decompression
  # Decompress content sent to the server. 
  #
  # Usage:
  #   
  #   Decompression.decompress(params["raw_content"])
  #
  # Returns string.
  def self.decompress(string)
    decoded = Base64.decode64(string)
    inflate(decoded).force_encoding('UTF-8')
  end

private

  # https://stackoverflow.com/q/1361892/574190
  def self.inflate(string)
    zstream = Zlib::Inflate.new(-Zlib::MAX_WBITS)
    buf = zstream.inflate(string)
    zstream.finish
    zstream.close
    buf
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...