HTTP 基础知识
学习Fiddler
的时候,HTTP
的知识点也是必不可少的, 所以这里必须要给大家简单的介绍一下HTTP
的相关知识!
http
中文意思为超文本传输协议
英文全称为Hyper Text Transfer Protocol
它是用于万维网服务器
传输超文本
到本地浏览器的一种传输协议
目的是保证客户端
与服务端
之间的通信
HTTP的特点 [扩展]
无连接
:
无连接的含义是限制每次连接只处理一个请求
。
服务器
处理完客户端
的请求,并收到客户端
的应答后,即断开连接。因为采用这种方式可以节省传输时间
无状态
HTTP协议
是无状态协议
这里的无状态
是指协议对于事务处理没有记忆能力
。
也就是说缺少状态
意味着如果后续处理需要前面的信息,则它必须重新进行传输
这样可能导致每次连接传送的数据量增大。
另一方面,在服务器不需要先前信息时它的应答就较快。
HTTPS协议特点 [扩展]
1.内容加密:采用混合加密技术,中间者无法直接查看明文内容
2.验证身份:通过证书认证客户端访问的是自己的服务器
3.保护数据完整性:防止传输的内容被中间人冒充或者篡改
4.SSL证书需要购买申请,有免费的 也有收费的 功能越强大的证书费用越高
5.SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗
6.HTTPS连接缓存不如HTTP高效,流量成本高
7.HTTPS协议握手阶段比较费时,对网站的响应速度有影响,影响用户体验
什么是http请求和响应?
http
的工作方式为一个简单的客户端请求 与 服务端响应
的应答过程
它指定了客户端
发送给服务器
什么样的消息形式
以及得到什么样的消息响应
所有的www
文件都必须遵循这个标准协议, 目的是提供一种发布和接收html页面
的方法
举个例子
比如说 客户端(浏览器)
向服务器
提交一个http请求
, 那么服务器
又会向客户端
这边返回响应信息
。而这些响应信息
包含关于客户端
请求的状态信息以及客户端
所需要的内容信息。
如图
http协议和web之间的本质
其实就是浏览器
和服务器
打交道的
客户端
向服务器端
发送Http请求
,然后服务器端
向客户端
返回http
响应!
http协议
就是浏览器
和服务器
之间进行沟通的一种规范, 也就是以这个规范
来向服务器发起请求
, 服务器才会给客户端
进行正确的响应, 所以http
有的时候也可以理解为是一种 规范、规则、标准
http协议
是属于应用层
的协议,而且是基于TCP/IP协议
的, 也就是说http
通信发生在TCP/IP
链接之上
通俗一点说http协议
就是基于TCP
的一种应用层协议
它不会关系数据传输的细节问题,也就是说你不用去关心它下层TCP
的运行逻辑, 它的核心只在于用来规定客户端和服务端
的数据传输格式
最早http
是用来向客户端传输html文件内容
,默认的端口80
扩展
有兴趣的朋友可以自行了解一下iso网络七层模型
通俗点说http
,就是在请求和响应
之后,服务器端立即关闭连接
,并释放资源,这样既保证了资源可显示与可用性,也吸取了TCP协议
的可靠性优点,但是缺点就无法跟踪用户的操作了,所以我们在后端开发
的学习中才会接触一个东西叫session和cookie
技术
所以你也可以理解为http
是基于请求与响应
的模式, 并且是无状态的应用层协议