![]() |
VOOZH | about |
Prerequisite - Cookies
Many websites use small strings of text known as cookies to store persistent client-side state between connections. Cookies are passed from server to client and back again in the HTTP headers of requests and responses. Cookies can be used by a server to indicate session IDs, shopping cart contents, login credentials, user preferences, and more. An HttpCookie object represents an http cookie, which carries state information between server and user agent. Cookie is widely adopted to create stateful sessions. There are 3 http cookie specifications:
HttpCookie class can accept all these 3 forms of syntax.
Constructor :
Creates a cookie with the specified name and value. The name must contain only ASCII alphanumeric characters and conform to RFC 2965. It throws an IllegalArgument exception if the name is not correct or NullPointerException if name is null. The value can be anything cookie wanna store.
Syntax : public HttpCookie(String name,
String value)
Parameters :
name : name of cookie
value : value of cookie
Throws :
IllegalArgumentException : if name does not conform to RFC2965
NullPointerException : if name is null
Methods :
Syntax : public static List parse(String header)
Parameters :
header : String to be parsed as cookies
Syntax : public boolean hasExpired()Syntax : public void setComment(String purpose)
Parameters :
purpose : purpose of cookie
Syntax : public void getComment()Syntax : public void setCommentURL(String purpose)
Parameters :
purpose : purpose of cookie
Syntax : public String getComment()Syntax : public void setDiscard(Boolean discard)
Parameters :
discard : true if UA should discard, otherwise false
Syntax : public Boolean getDiscard()Syntax : public void setPortList(String portList)
Parameters :
portList : String of comma separated digits specifying the ports.
Syntax : public String getPortList()Syntax : public void setDomain(String domain)
Parameters :
domain : String representing the domain in which this cookie is visible
Syntax : public String getDomain()Syntax : public void setMaxAge(long age)
Parameters :
age : Max survive time in seconds
Syntax : public long getMaxAge()Syntax : public void setPath(String uri)
Parameters :
uri - a String specifying a path
Syntax : public String getPath()Comment : Just for explanation
CommentURL : 192.168.1.1
Discard : true
Ports: 1001,8520
Domain : .localhost.com
Max Age : 3600
Path: 192.168.1.1/admin/index.html
Syntax : public void setSecure(boolean secure)
Parameters:
secure - If true, the cookie can only be sent over a secure protocol like https.
If false, it can be sent over any protocol.
Syntax : public boolean getSecure()Syntax : public String getName()Syntax : public void setValue(String newValue)
Parameters :
newValue - a String specifying the new value
Syntax : public String getValue()Syntax : public int getVersion()Syntax :public void setVersion(int v)
throws IllegalArgumentException
Parameters :
v - 0 for original Netscape specification; 1 for RFC 2965/2109
Throws :
IllegalArgumentException - if v is neither 0 nor 1
Syntax : public boolean isHttpOnly()Syntax : public void setHttpOnly(boolean httpOnly)
Parameters :
httpOnly - if true make the cookie HTTP only, i.e. only visible as part
of an HTTP request.
Syntax : public static boolean domainMatches(String domain,
String host)
Parameters :
domain : domain to check hostname with
host : host to check
Syntax :public String toString()Syntax :public boolean equals(Object obj)Syntax : public int hashCode()Syntax : public Object clone()Java Implementation :
Output :
Secure : true
Name : First
Value : 2
Version : 1
is HTTP only : true
toString : First="2"
Hashcode : 97440432
Another Example to show how cookies are actually used by Web servers in which we print the details of cookies stored by www.facebook.com
Output :
------------------ Cookie.1 ------------------
Cookie name: fr
Domain: .facebook.com
Max age: 7775999
Server path: /
Is secured: true
Cookie value: 0Xj7tBSsWlmtXPo92..BZFC8G.qC.AAA.0.0.BZFC8G.AWUwiIgM
Cookie protocol version: 0
Reference:
Official Java Documentation