http协议

第一. http协议的主要特点

1.简单快速(每个资源也就是URL是固定的,在协议中处理是非常简单的,如果想访问哪个资源只需要输入url即可)
2.灵活(每一个http协议中会有一个头部分,会有一个数据类型,通过http协议就可以完成不同数据类型的传输)
3.无连接(连接一次就回断掉,不会保持连接)
4.无状态(客户端和服务端是两种身份,客户端想服务端请求一个图片,http帮你建立一个连接,然后中间传输,任务完成后,这次连接就会断开,下次连接,服务端无法区分和上次是不是用一身份)

第二. http报文的组成部分

1.请求报文:
	1-1.请求行(包含http方法、页面地址、http协议以及版本)
	1-2.请求头(包含key、value,告诉服务器我需要哪些内容,需要注意什么类型)
	1-3.空行(告诉服务器遇见空行的时候下面就不再是请求头部分了)
	1-4.请求体
2.响应报文:
	2-1.状态行
	2-2.状态头
	2-3.空行
	2-4.响应体

第三. http方法 — GET POST PUT DELETE HEAD(HEAD 是获取报文首部的)
第四. post和get的区别

1.post比get更加安全
2.传参方式不同,get在url上,post在request.body里
3.get在浏览器回退的时候不会再次提交请求,post会
4.get请求会被浏览器主动缓存,post只能手动
5.get请求的url可以被收藏,post不可以
6.get请求的参数会被浏览器留在历史记录,post不会
7.get请求的url传参是有长度限制的,一般是2k左右,post没有限制

第五.http状态码

 1. 1**指示信息
 2. 2**成功
		2-1:200请求成功
		2-2:206客户端发送了一个带有range范围的get请求,服务端根据这个范围截断原本数据并返回,多用于音频视频
 3. 3**重定向
		3-1:301所请求的页面已经转移到新的url
		3-2:302所请求的页面已经临时转移到新的url
		3-3:304告知客户端浏览器已经有缓存了,不用请求服务器
 4. 4** 客户端错误
 5. 5**服务端错误

第六.http持久连接 - Keep-Alive

 1. http1.1才支持持久链接
 2. 一般请求得到响应后会断开,下次重新连接
 3. 启用Keep-Alive模式肯定更高效,性能更高。因为避免了建立/释放连接的开销

第七.http协议管线化

1. 持久连接的正常情况是 请求 -> 响应 -> 请求 -> 响应 ....依次不会中断
2. 管线化的意思是客户端把所有的请求打包一次性来请求,服务器也把所有的响应打包给客户端
3. 管线化机制是通过持久连接完成,所以http1.1才支持
4. 只有get和head请求可以管线化,post有所限制
5. 管线化必须建立在服务端支持持久连接的基础上才可以实现
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值