天天看点

JavaEE 要懂的小事:二、图解 Cookie(小甜饼)一、概述二、详细介绍Cookie 传输过程④ 客户端访问,有服务端写入的Cookie。四、谈Cookie的作用到XSS(跨站点脚本攻击)五、总结

writer      :bysocket(泥沙砖瓦浆木匠) 

JavaEE 要懂的小事:二、图解 Cookie(小甜饼)一、概述二、详细介绍Cookie 传输过程④ 客户端访问,有服务端写入的Cookie。四、谈Cookie的作用到XSS(跨站点脚本攻击)五、总结

这就是因为浏览器cookie太大,导致请求时,请求头域过大造成发送失败。下面咱们就了解了解cookie。按着以前的思路图文并茂哈,没图说个xx。

首先从http说起,cookie是http协议中那部分呢?

cookie是什么?

自问自答:cookie是请求头域和响应头域的字段。简单地说,就是伴随请求和响应的一组键值对的文本,小文本。所以称之为”cookie“饼干。cookie的生命来源于服务器。首先是客户端请求服务端,此时请求为第一次,无cookie参数。这时候,服务端setcookie发送给客户端。记住,cookie来源自服务端。

cookie有什么用呢?

又自问自答:cookie来源自服务端,当然服务于客户。就像你我的会话,文字是在我们之间传递的。所以cookie用于服务端和客户端的会话。因为http协议是无状态的,cookie就是维持会话,说白了就是传递数据的额外媒介。

下面我们访问百度地址。

① 产生于服务端的response,在响应头域:

JavaEE 要懂的小事:二、图解 Cookie(小甜饼)一、概述二、详细介绍Cookie 传输过程④ 客户端访问,有服务端写入的Cookie。四、谈Cookie的作用到XSS(跨站点脚本攻击)五、总结

② 请求头域是这样的:(可以在cookie tab页发现,和响应有一样的)

JavaEE 要懂的小事:二、图解 Cookie(小甜饼)一、概述二、详细介绍Cookie 传输过程④ 客户端访问,有服务端写入的Cookie。四、谈Cookie的作用到XSS(跨站点脚本攻击)五、总结

下面泥瓦匠详细介绍其cookie在 请求和响应 的传输过程。

JavaEE 要懂的小事:二、图解 Cookie(小甜饼)一、概述二、详细介绍Cookie 传输过程④ 客户端访问,有服务端写入的Cookie。四、谈Cookie的作用到XSS(跨站点脚本攻击)五、总结

直接上图,一一详细解释。顺便写个cookieservlet,模拟一下cookie的一生。代码如下:

代码 new cookie("cookiename", "cookievalue"); 可以看出服务端产生一个新的键值对cookie,并且设置,说明第一次请求时,请求的请求头域cookie是没有的。下面没有cookiename=cookievalue 的cookie值。如图:

JavaEE 要懂的小事:二、图解 Cookie(小甜饼)一、概述二、详细介绍Cookie 传输过程④ 客户端访问,有服务端写入的Cookie。四、谈Cookie的作用到XSS(跨站点脚本攻击)五、总结

代码中 httpservletresponse.addcookie(cookie); 这样响应就加入了刚刚那个键值对cookie。怎么传到浏览器(客户端)呢? 同样f12下,

JavaEE 要懂的小事:二、图解 Cookie(小甜饼)一、概述二、详细介绍Cookie 传输过程④ 客户端访问,有服务端写入的Cookie。四、谈Cookie的作用到XSS(跨站点脚本攻击)五、总结

从图中可得到,cookie是通过http的响应头域发送至浏览器。每个cookie的set,都有一个对应set-cookie的头。还有其中的时间代表cookie的存活时间,httponly可是此cookie只读模式。

直接可以打开ie的internet选项:

JavaEE 要懂的小事:二、图解 Cookie(小甜饼)一、概述二、详细介绍Cookie 传输过程④ 客户端访问,有服务端写入的Cookie。四、谈Cookie的作用到XSS(跨站点脚本攻击)五、总结

如图,那个位置文件就是我们cookie存的地方。既然在哪里,泥瓦匠就去找到它。

JavaEE 要懂的小事:二、图解 Cookie(小甜饼)一、概述二、详细介绍Cookie 传输过程④ 客户端访问,有服务端写入的Cookie。四、谈Cookie的作用到XSS(跨站点脚本攻击)五、总结

打开看看,其内容就是:存放着cookie信息和url信息及一些关于时间的。

这样就完全搞懂了cookie如何写入浏览器。

这样,同样的url再次访问时,f12下:

JavaEE 要懂的小事:二、图解 Cookie(小甜饼)一、概述二、详细介绍Cookie 传输过程④ 客户端访问,有服务端写入的Cookie。四、谈Cookie的作用到XSS(跨站点脚本攻击)五、总结

不多解释,看图。

服务端这时呢?只要简单的 getcookies() 就可以获取cookie列表了。如图,服务端控制台打印如下:

JavaEE 要懂的小事:二、图解 Cookie(小甜饼)一、概述二、详细介绍Cookie 传输过程④ 客户端访问,有服务端写入的Cookie。四、谈Cookie的作用到XSS(跨站点脚本攻击)五、总结

泥瓦匠记忆小抄:cookie传输小结

① 客户端访问,无服务端写入的cookie

② 服务端的cookie写入浏览器

③ 浏览器解析cookie,保存至浏览器文件

④ 客户端访问,有服务端写入的cookie

⑤ 服务器获取

cookie没有病毒那么危险,但包含敏感信息。比如最常见的记住密码,或者一些用户经常浏览的网页数据。如图:

JavaEE 要懂的小事:二、图解 Cookie(小甜饼)一、概述二、详细介绍Cookie 传输过程④ 客户端访问,有服务端写入的Cookie。四、谈Cookie的作用到XSS(跨站点脚本攻击)五、总结

全名:cross site script,中文名:跨站脚本攻击。顾名思义,是指“html注入”纂改了网页,插入恶意的脚本,从而在用户用浏览网页的时候,控制用户浏览器的一种攻击。一般攻击的套路如图所示:

JavaEE 要懂的小事:二、图解 Cookie(小甜饼)一、概述二、详细介绍Cookie 传输过程④ 客户端访问,有服务端写入的Cookie。四、谈Cookie的作用到XSS(跨站点脚本攻击)五、总结

回顾全文,cookie是http协议中的一种会话机制。也明白下面两个问题就好了

1、what 什么是cookie 2、how cookie怎么用,干嘛用