cookie是什么?
定义
Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息。
HTTP报文里面的cookie
浏览器每次与服务端交互,都是通过http报文来传递的,而cookie就在报文头之中。比如我现在访问我的博客首页,抓包可以获得,可以看出cookie是一个个的键值对。
cookie在浏览器中的位置
以chrome为例,cookie文件在电脑中的位置为C:\Users\用户名\AppData\Local\Google\Chrome\User Data\Default\cookie,但是这里的cookie是经过加密的,你打开以后只会有一堆二进制码。
浏览器怎么查看全部cookie?
设置–>隐私设置–>内容设置–>所有cookie和网站数据(可以看到域名及其对应的cookie)
cookie总结
cookie是由服务端设置,发过来保存到浏览器的一段文本,chrome保存cookie的时候,会把网站(blog.sina.com与www.sina.com是不同网站)及其对应的cookie加密后保存到cookie文件里面,当浏览器访问某个网站时,会根据网站名到cookie文件中找网站对应的cookie,再加到http报文中,发给服务端。
为什么会有cookie?
- 因为HTTP协议是无状态的,对于一个浏览器发出的多次请求,WEB服务器无法区分 是不是来源于同一个浏览器。所以,需要额外的数据用于维护会话。 Cookie 正是这样的一段随HTTP请求一起被传递的额外数据。用 Cookie 可以用来存储少量数据,或者存储用户 ID 之类的标识符。经常可以在cookie中看到一个JSESSIONID,就是这个作用。
- Cookie只是一段文本,所以它只能保存字符串。而且浏览器对它有大小限制以及 它会随着每次请求被发送到服务器,所以应该保证它不要太大。 Cookie的内容也是明文保存的,有些浏览器提供界面修改,所以, 不适合保存重要的或者涉及隐私的内容。
- 记录用户名和密码: 以及该用户需要保存的一些信息,如购物购站,使用cookie,可以让用户自动登录到站点等。
- 定制站点: 可以使用cookie来记录用户的偏好。
- 定向广告: 可以使用cookie来记录用记经常访问的主题,并向他们显示与这些主题相关的广告。
怎么制作一个cookie?
cookie类
用serlvet发送cookie
serlvet解析cookie
报文