1、为什么会有cookie存在?
以为http协议本身无状态,即服务器无法判断用户身份。
2、解决方式:
客户端向服务器发起请求后,服务器向客户端发送response时加上cookie,客户端浏览器保存该cookie,客户端浏览器再次发送请求时连同cookie(自动)一起发送,服务器通过该cookie辨识用户。
注:浏览器提交cookie时只会提交name和value,maxAge只被浏览器用来判断cookie是否过期,如果cookie已过期,将不会被携带,服务器获取到的maxAge:-1
3、cookie机制
4、cookie属性
1. name=value
2. Expire:过期时间
maxAge(秒):
正数:在x秒后失效,该值会写入浏览器的cookie文件中,无论关闭电脑或浏览器都有效
负数:临时cookie,仅在本浏览器窗口和子窗口有效,关闭浏览器则立即失效
0:立刻删除cookie
3. domain:生效域名
原理:cookie不可跨域名
原则一级域名相同,二级域名不同也不可获取cookie,解决办法为将domain设置为一级域名
4. path:生效路径
如果设置为‘/’表示所有路径都可使用cookie
5. secure:只会在ssh链接时生效
5、修改或删除cookie
修改:同名覆盖
删除:同名覆盖并设置MaxAge:0
原则:除value、maxAge外,其他属性必须相同才可以进行修改或删除
6、相关框架
问题:
1、cookie是只种在指定浏览器,跨浏览器是否生效? 不生效
2、ssh链接是什么?
一种安全协议
特点:更安全,非对称加密,所以数据均进行加密
3、HttpServletResponse是什么?
Servlet是服务端发送请求的程序,是sun公司提供的api接口,HttpServletResponse是servelet返回到客户端的内容
servelet调用图:
4、cookie保存在客户端的哪里?
每个浏览器的存储路径和格式都可能不同
Chrome:C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\Cookies.txt(只有一个)
IE:C:\Users\yren9\AppData\Roaming\Microsoft\Windows\Cookies\0WQ6YROK.txt(多个,不同站点独立,文件小)
Firfox:C:\Users\jay\AppData\Roaming\Mozilla\Firefox\Profiles\ji4grfex.default\cookies.sqlite