hello Cookie

Cookie 是什么?

Cookie在浏览器中的表现为请求头域和响应头域的字段,也就是伴随着请求和响应的一组键值对的文本。Cookie来源于服务器,第一次请求无Cookie参数,增加Cookie通过服务端setCookie发送给客户端。注意,Cookie来自于服务端。

Cookie源自服务端,服务于客户端,是用与在两者之间传递信息的,也就是Cookie用于服务端和客户端的会话。因为Http协议是无状态的,Cookie就是用来维持会话的,也就是用来传递数据的额外媒介。

生产与服务端的Response,在响应头域下的Cookie里如图

请求头域是这样的

Cookie 的传输过程

 

 

CookieServlet

客户端访问,没有服务端写入的Cookie

如图,可以看出服务器产生一个新的键值对Cookie,并且设置,说明第一次请求时,请求头域Cookie是没有的,并没有cookieNameTest=cookieValueTest的值。

服务端的Cookie传至浏览器

同样从上图中在responseHeader中可以看出,Cookie是通过HTTP的响应头与发送到浏览器。每个Cookie的set,都有一个对应的Set-Cookie的头,其中的时间代表Cookie的存活时间,HttpOnly代表此Cookie为只读模式。

浏览器解析Cookie,保存到浏览器文件中

浏览器中设置完成

再次客户端访问,过期时间内,就能发现服务端写入的Cookie

服务器获取Cookie

服务器这边通过Cookie[] cookies = req.getCookies();就可以获取Cookie列表,服务器控制台打印如下:

 

posted @ 2016-04-11 12:22  yangfei969  阅读(450)  评论(0编辑  收藏  举报