HTTP协议 Cookie
Cookie的主要用途是用户识别及状态管理。
实现原理:方便管理用户状态,通过web浏览器将一些数据临时写入用户的计算机内,当用户访问时可通过通信方式取回之前发送的Cookie。
调用Cookie的时候,由于可以调用Cookie的有效期,以及发送方的域、路径、协议等信息,所以正规发布的Cookie不是因为来自其他web站点和攻击者的攻击而泄漏。
为Cookle服务的首部字段:
1、Set-Cookie字段的属性
1)expires
指定浏览器可发送Cookie的有效期。
若不指定则默认为会话时间段内。
一旦Cookie从服务端发送到客户端,服务器就不存在可显式删除Cookie的方法,但可通过覆盖已过期的Cookie,实现对客户端的实质性删除。
2)path
用于限制指定Cookie发送范围的文件目录。
3)domain
通过该属性指定的域名可做到与结尾匹配一致。
除了针对具体指定的多个域名发送的Cookie外,不指定domain属性显得更安全。
4)secure
限制web界面仅在HTTPS安全连接时,才可以发送Cookie。
发送Cookie时,指定属性的方法如下:
Set-Cookie:>
5)HttpCookie
Cookie的扩展功能,使JavaScript脚本无法获得Cookie。主要目的是为了防止跨站脚本攻击对Cookie的信息窃取。
发送指定HttpOnly属性的方法如下:
Set-Cookie:>
2、Cookie
告知服务器,客户端想获得http状态管理支持时,就会在请求中包含从服务器接收到的Cookie。接收多个时,同样可以以多个发送。