zoukankan
html css js c++ java
不完全图解HTTP
在2D平面上行走的时候,认识只局限于“点”,刚认识一个新的点,就把之前的那个点忘记了,捡了芝麻丢西瓜。只从3D视角俯瞰时,把这些点连接在一起,点成线,线成面时,才能有所顿悟。话不多说,这是我对HTTP的不完全图解。希望对大家整体上初步理解HTTP有所帮助。
整体上来看,HTTP分为五个部分。
1.报文
报文 = 报文首部 + 报文主体
打上了“红旗”的,代表非常重要:
(1)首部字段
(2)Cookie 和 Set-Cookie
Cookie:客户端告知服务器想获得HTTP状态管理支持。
Set-Cookie: 服务器管理客户端的状态。
1.1 请求报文
1.2 响应报文
2. 通信传输
这里需要问自己这样的问题:
(1)为什么会有“分层”这个概念?
(2)三次握手的过程?如果中断了怎么办?
发送端将一个带SYN标志的数据包给接收端。
接收端回传一个带有SYN/ACK标志的数据包,传达确认信息。
发送端回传一个带ACK标志的数据包,代表“握手”结束。
如果中断,TCP协议会再次以相同的顺序发送相同的数据包。
3.服务器
这里重点理解一下缓存策略。
第一阶段--本地缓存。
第二阶段:缓存协商。在这个阶段,需要用到两组首部字段Last-Modified/IF-Modified-Since和Etag/If-None-Match。
4.优化
5.安全
这部分需要理解为什么会出现HTTPS,HTTPS中的SSL是什么,HTTPS的利弊。
基于表单认证部分需要联系一下第一部分报文中的Cookie和Set-Cookie:
(1)客户端发送用户ID、密码
(2)服务器向用户发放Session ID,记录用户状态(Set-Cookie)
(2)客户端接收Session ID,并将其作为Cookie保存在本地。
(4)下次向服务器发送请求时,浏览器会自动发送Cookie
(5)服务器端可验证收到的Session ID来识别用户
回顾一下,总体上大概就是这样的。安利一下XMind,用来画思维导图,非常赞。祝大家五一快乐。
查看全文
相关阅读:
【求助】Oracle 新手困惑,System.Data.OracleClient requires Oracle client software version 8.1.7 or greater
什么是APS高级计划排程(高级计划排产)一
【求助】Html弄的比较少,问一个弱弱的问题,为什么下面代码在IE中tr之间有空白行,而在Firefox中没有空白
使用Jmeter测试快速入门
Jmeter数据库压测(Windows下进行压测)
Charles安装真机证书
Jmeter组件参数化
Jmeter脚本录制(App)
Jmeter的介绍
Fiddler的使用
原文地址:https://www.cnblogs.com/qinmu/p/6789245.html
最新文章
数据字典的写法
【博弈论】Road to Arabella Gym 102263B
【最短路+bfs+缩点】Paint the Grid Reloaded ZOJ 3781
[jQuery]仿IPhone的滑动操作效果
Jquery使用小技巧
通过jquery使图片自动适应缩放到指定尺寸
jquery 打开页面window.location和window.open的区别
windows上的路径操作函数
asp.net mvc 2.0 简单的上传图片到数据库和显示图片
如何用js得到当前页面的url信息方法(JS获取当前网址信息)
热门文章
C# 中的常用正则表达式总结
GetFileAttributes
MVC: Controll与View的交互
走出软件作坊读后感成长的轨迹
Microsoft.Practices.ObjectBuilder 源代码共享
生活并不是笔直通畅的走廊
什么是APS高级计划排程(高级计划排产)以及功能模块
C#托管代码与C++非托管代码互相调用一(C#调用C++代码&.net 代码安全)
谁说XP下无法安装Azure
C#托管代码与C++非托管代码互相调用二(C++调用C#代码)
Copyright © 2011-2022 走看看