36 lines
1.4 KiB
Text
36 lines
1.4 KiB
Text
|
HTTP::Cookie is a ruby library to handle HTTP cookies in a way both
|
||
|
compliant with RFCs and compatible with today's major browsers.
|
||
|
|
||
|
It was originally a part of the
|
||
|
[Mechanize](https://github.com/sparklemotion/mechanize) library,
|
||
|
separated as an independent library in the hope of serving as a common
|
||
|
component that is reusable from any HTTP related piece of software.
|
||
|
|
||
|
The following is an incomplete list of its features:
|
||
|
|
||
|
* Its behavior is highly compatible with that of today's major web
|
||
|
browsers.
|
||
|
|
||
|
* It is based on and conforms to RFC 6265 (the latest standard for the
|
||
|
HTTP cookie mechanism) to a high extent, with real world conventions
|
||
|
deeply in mind.
|
||
|
|
||
|
* It takes eTLD (effective TLD, also known as "Public Suffix") into
|
||
|
account just as major browsers do, to reject cookies with an eTLD
|
||
|
domain like "org", "co.jp", or "appspot.com". This feature is
|
||
|
brought to you by the domain_name gem.
|
||
|
|
||
|
* The number of cookies and the size are properly capped so that a
|
||
|
cookie store does not get flooded.
|
||
|
|
||
|
* It supports the legacy Netscape cookies.txt format for
|
||
|
serialization, maximizing the interoperability with other
|
||
|
implementations.
|
||
|
|
||
|
* It supports the cookies.sqlite format adopted by Mozilla Firefox for
|
||
|
backend store database which can be shared among multiple program
|
||
|
instances.
|
||
|
|
||
|
* It is relatively easy to add a new serialization format or a backend
|
||
|
store because of its modular API.
|