Package io.pack200
The pack
methods may be used by application developers who
wish to deploy large JARs on the web. The unpack
methods
may be used by deployment applications such as Java Web Start and
Java Plugin.
In typical use, the packed output should be further compressed
using a suitable tool such as gzip or
java.util.zip.GZIPOutputStream
. The resulting file (with
a suffix ".pack.gz") should be hosted on a HTTP/1.1 compliant
server, which will be capable of handling "Accept-Encoding", as
specified by the HTTP 1.1 RFC2616 specification.
NOTE: It is recommended that the original ".jar" file be hosted in addition to the ".pack.gz" file, so that older client implementations will continue to work reliably. (On-demand compression by the server is not recommended.)
When a client application requests a ".jar" file (call it "Large.jar"), the client will transmit the headers "Content-Type=application/x-java-archive" as well as "Accept-Encoding=pack200-gzip". This indicates to the server that the client application desires an version of the file encoded with Pack200 and further compressed with gzip.
The server implementation will typically check for the existence of "Large.pack.gz". If that file is available, the server will transmit it with the headers "Content-Encoding=pack200-gzip" and "Content-Type=application/x-java-archive".
If the ".pack.gz" file, is not available, then the server will transmit the original ".jar" with "Content-Encoding=null" and "Content-Type=application/x-java-archive".
A MIME type of "application/x-java-pack200" may be specified by the client application to indicate a ".pack" file is required. However, this has limited capability, and is not recommended.
Package Specification
Network Transfer Format Specification : http://jcp.org/en/jsr/detail?id=200Related Documentation
For overviews, tutorials, examples, guides, and tool documentation, please see:- Jar File Specification : http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html
- Class File Specification: Chapter 4 of The Java™ Virtual Machine Specification
- Hypertext Transfer Protocol -- HTTP/1.1 : http://www.ietf.org/rfc/rfc2616.txt
- Since:
- 1.5
-
Interface Summary Interface Description Pack200.Packer The packer engine applies various transformations to the input JAR file, making the pack stream highly compressible by a compressor such as gzip or zip.Pack200.Unpacker The unpacker engine converts the packed stream to a JAR file. -
Class Summary Class Description DriverResource DriverResource_ja DriverResource_zh_CN Pack200 Transforms a JAR file to or from a packed stream in Pack200 format.PackerImpl UnpackerImpl