HTTP协议解析之Cookie
“ Cookie与身份认证。”
提到HTTP协议,不可避免地都会牵涉到Cookie,可以说,Cookie作为HTTP的重要组成部分,促进了HTTP协议的发展壮大。
HTTP协议如果没有了Cookie,将会是一个无状态,无法便捷地进行用户识别的协议。
通常,Cookie由服务端产生,然后在HTTP会话中发往客户端,并在客户端被维护,根据设置,一个Cookie将会有一定的作用域,通常会对一个或者多个域名起作用,一个HTTP请求将会携带属于它的Cookie。同时,Cookie有生命周期,它由服务端下发时确定。
Cookie的作用是用于区分识别用户身份,进行会话跟踪、会话管理、个性化服务及行为跟踪。
客户端在发起HTTP请求时会根据客户端的当前情况确定是否携带Cookie,如果携带,则在HTTP请求头中表现为字段“Cookie: ”;服务器则在收到HTTP请求时根据具体情况确定是否要设置客户端的Cookie,如果要设置,则在HTTP响应头中表现为字段“Set-Cookie:”。
一个典型的HTTP会话如下:
会话中请求端携带了客户端所存在的Cookie,服务端收到后,设置新的Cookie,将旧Cookie覆盖。
在响应头中,经常会有多个“Set-Cookie:”项,而在“Set-Cookie:”字段中,必要时会有“Expires”项,告知客户端当前Cookie项的过期时间。
Cookie很简单,但是,由于一些APP或者网站的低级设计,经常会有很多敏感信息在Cookie中被携带。
由于Cookie用来进行身份认证的特殊性,如果拿到了某个网站或APP的某个用户的Cookie信息,基本上就可以冒充这个用户,进行很多的操作和获取很多重要的信息了,很多使用Cookie验证用户的网站,很少使用其它措施来进行用户的二次验证,历史上很多的网站泄露事件都是通过Cookie的泄露来进行的。
Cookie还有一个重要的作用,就是用来精准推送广告。
随着时代的进步,网络的发展,很多网站将HTTP升级为HTTPS,当然,Cookie作为HTTP的重要部分,在HTTPS中会继续存在,可以在“Set-Cookie:”项中加入“Secure”参数,来表示该Cookie仅供HTTPS使用。
如果一个APP完全地使用HTTPS进行数据的传输,那自然问题不大,但现实是,很多的APP,HTTP和HTTPS混用,然后,二者的Cookie也混用,使HTTPS访问敏感信息的Cookie能够轻松地从HTTP会话中获取到,最终导致信息的泄露,防不胜防。
去某咖啡厅,伪装个热点,你会获取到大量泄露的Cookie,然后,别乱玩呀,看看就可以了,要做一个合法的公民。
长按进行关注。
HTTP协议解析之Cookie的更多相关文章
- WebSocket协议解析
WebSocket协议解析 转载请注明出处:WebSocket解析 现在,很多网站为了实现推送技术,所用的技术都是轮询.轮询是指在特定的时间间隔(如每一秒),由浏览器对服务器发起HTTP请求,然后由服 ...
- ts 协议解析
pes : http://wenku.baidu.com/link?url=KjcA0qXqZ1bWVQTa8i1YOmygofldSQL7Pjj-zGRw1e_6_LFmVLo5DIWF0SNwVn ...
- [转]netty对http协议解析原理
本文主要介绍netty对http协议解析原理,着重讲解keep-alive,gzip,truncked等机制,详细描述了netty如何实现对http解析的高性能. 1 http协议 1.1 描述 标示 ...
- twemproxyRedis协议解析探索——剖析twemproxy代码正编
这篇文章会对twemproxyRedis协议解析代码部分进行一番简单的分析,同时给出twemproxy目前支持的所有Redis命令.在这篇文章开始前,我想大家去简单地理解一下有限状态机,当然不理解也是 ...
- B/S 架构中,网络模型的分解与协议解析
前言 如果是C/S专业毕业的或者是学过计算机网络课程的童鞋们,相信大家都知道网络模型的划分,本文首先来聊一聊目前对于B/S结构中,网络模型分解的两种方式. 没错,相信大家看到这个图片的时候就已经明白了 ...
- 详解BLE 空中包格式—兼BLE Link layer协议解析
BLE有几种空中包格式?常见的PDU命令有哪些?PDU和MTU的区别是什么?DLE又是什么?BLE怎么实现重传的?BLE ACK机制原理是什么?希望这篇文章能帮你回答以上问题. 虽然BLE空中包(pa ...
- netty对http协议解析原理解析
本文主要介绍netty对http协议解析原理,着重讲解keep-alive,gzip,truncked等机制,详细描述了netty如何实现对http解析的高性能. 1 http协议 1.1 描述 标示 ...
- MODBUS协议解析中常用的转换帮助类(C#)
p{ text-align:center; } blockquote > p > span{ text-align:center; font-size: 18px; color: #ff0 ...
- AOSP中的HLS协议解析
[时间:2018-04] [状态:Open] [关键词:流媒体,stream,HLS, AOSP, 源码分析,HttpLiveSource, LiveSession,PlaylistFetcher] ...
随机推荐
- 100本Python机器学习、深度学习电子书,免费送!
此套电子书收集于网络,如有侵权请联系删除!!! 此套电子书仅用于个人学习,请勿用于商业获利,造成后果自负!!! 这套电子书包括:机器学习.深度学习.数据科学入门.神经网络等 获取资源地址:链接: ht ...
- WPF TreeView 虚拟化-设置滚动到选中项
前言 列表滚动到具体的数据项? ListBox提供了简易快捷的滚动定位函数ScrollIntoView. TreeView树状结构列表,则没有此类方法,无法与ListBox一样,直接设置滚动到具体的数 ...
- OAuth2、OpenID Connect简介
当我们在登录一些网站的时候,需要第三方的登录.比如,现在我们要登录简书https://www.jianshu.com/sign_in,我们使用微博登录,点击下方的一个微博的小按钮,就会出现这么一个地址 ...
- Cesium专栏-克里金插值(全国温度为例,附源码下载)
Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...
- SQL Server(MSSQLSERVER) 请求失败或服务未及时响应,有关详细信息,请参见事件日志或其他的适用的错误日志。
转自:https://www.fengjunzi.com/blog-25573.html 问题 有时候sqlserver无法启动了,原因是mssqlserver服务没有启动,当你手动启动时,又出现服务 ...
- acwing 902. 最短编辑距离
地址 https://www.acwing.com/problem/content/904/ 给定两个字符串A和B,现在要将A经过若干操作变为B,可进行的操作有: 删除–将字符串A中的某个字符删除. ...
- luoguP4022 [CTSC2012]熟悉的文章
题意 显然这个\(L\)是可以二分的,我们只需要判断\(L\)是否合法即可. 显然有一个\(O(n^2)\)的DP: 设\(f_i\)表示当前匹配到\(i\)的最大匹配长度. \(f_i=max(f_ ...
- 第05组 Alpha事后诸葛亮
组长博客链接(2分) 组长博客链接 现代软件工程 项目Postmortem 模板(27分) 设想和目标(2分) 1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? ...
- 你想了解的「SpringCloud」都在这里
前言: 之前我们已经了解了「什么是微服务?」,现在我们开始了解「微服务」关键字下比较热门的「Spring Cloud」... 一.传统架构发展史 部分引用自:从架构演进的角度聊聊Spring Clou ...
- Struts2框架和SpringMvc框架的区别
Struts2框架和SpringMvc框架的区别 一.拦截机制的不同 Struts2是类级别的拦截,每次请求就会创建一个Action,和Spring整合时Struts2的ActionBean注入作用域 ...