Applet使用Pack200 压缩
介绍
本文简要介绍了pack200的原理和使用过程,最后给出了一个applet应用的实例。
原理及介绍:
Java应用程序和applet支持Gzip和Pack200.两种格式的部署
HTTP 1.1 (RFC 2616)协议定义了HTTP的压缩格式,因此应用程序的Jar文件可以压缩为gzip,compress和deflate。
根据SDK/JRE 5.0版本的定义,JAVA web端可以执行HTTP 压缩,而java插件遵循RFC2616协议。支持的技术为gzip和pack200-gzip.
应用程序发送HTTP请求给服务器,一个HTTP请求有很多个属性。其中Accept-Encoding (AE)可以设置格式为gzip或pack200-gzip。
Server可以实现通过扩展名.pack.gz或.gz文件搜索到请求的Jar文件,并返回文件路径。Server可以根据发送的文件类型设置响应的header的Content-Encoding (CE)属性为pack200-gzip,gzip或者Null,设置Content-Type (CT)为application/Java-archive。因此,通过检查CE属性,客户端就能自动地还原成原始的jar文件。
图1:应用程序请求打包或压缩的jar文件
上面的例子表明,客户端通过设置AE=“pack200-gzip,gzip”来请求一个foo.jar文件,服务器搜索到foo.jar.pack