cookie

  由于HTTP是无状态协议,它不对之前的请求和响应状态进行管理,因此无法通过上一次的状态对本次请求进行处理。

  cookie技术则是在这一条件下产生,它通过在请求报文和响应报文中写入cookie来控制用户客户端的状态。

cookie交互(假设开始没有cookie)

  1. 客户端向服务器端发送请求报文,服务器端在响应报文中设置Set-Cookie头首部字段,通知客户端保存cookie;

  2. 之后客户端向服务器端发送请求报文时,在请求头中添加cookie;

  3. 服务器端接接收请求头中的cookie后,检查从那个客户端发送过来,然后对比服务器上的记录,获取之前的状态信息。

cookie格式

 1 Set-Cookie:name=cookie名;expires=Sat, 02 May 2009 23:38:25 GMT(有效期);path=PATH(文件路径);domain=域名;secure(https安全访问);

javascript应用

  document.cookie既可以设置cookie,也可以获取cookie

1 // 设置当前cookie其中name属性及其值必须时URL编码,获取时用decodeUrlComponent解码
2 document.cookie = encodeUrlComponent('name') + "=" + encodeUrlComponent('myCookie');
3 
4 // 获取当前可用的所有cookie
5 console.log(document.cookie);

cookie局限

  1. 浏览器中存放的cookie数量有限。

  2. 不适合大量的数据存储,因为cookie放置在请求头中进行传输,影响传输性能。

 

posted @ 2017-02-15 15:51  勤劳的小叶酱  阅读(157)  评论(0编辑  收藏  举报