关于Http协议的总结

1.HTTP协议的主要特点

灵活,简便,无连接,无状态
具体理解参考https://blog.csdn.net/tennysonsky/article/details/44562435

2.HTTP报文的组成部分

首先http报文由请求报文和响应报文组成
请求报文:请求行(请求方法,请求url和http协议版本),请求头(各种key值),空行(标识请求头结束),请求体(一般是post到服务器一些信息)
响应报文:响应行(状态码和协议版本),响应头,空行,响应体(服务端返回的资源)

3.HTTP方法:

常用的有GET,POST和HEAD

4.POST与GET的区别

(1)get在浏览器中回退是无害的,而post请求会重复提交请求
(2)get请求在浏览器中会被主动缓存,而post不可以
(3)get请求的请求参数可以被完整的保留在浏览器的历史记录中,而post不会
(4)get请求的参数会因为浏览器地址栏导致有长度限制,而post不会
(5)get请求的参数通过url传递,而post通过Request body

5.HTTP状态码

HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:

HTTP状态码分类
分类分类描述
1**信息,服务器收到请求,需要请求者继续执行操作
2**成功,操作被成功接收并处理
3**重定向,需要进一步的操作以完成请求
4**客户端错误,请求包含语法错误或无法完成请求
5**服务器错误,服务器在处理请求的过程中发生了错误
具体常见的状态码:
200:客户端请求成功
206:客户端发了一个带有range头的get请求。服务器完成了ta(意思是客户端发了一个带有范围字节的请求,服务端就截取资源的那个范围的字节返回给客户端,一般常见于客户端请求的视频,音乐的字节数过大)
301(moved permanently):即永久重定向,所请求的页面已经转至新的url
302(Found):即临时重定向,所请求的页面已经临时转移至新的url上
304:客户端有缓冲的文档并发出一个条件性的请求,服务器告诉客户端,原来缓冲的文档还可以继续使用
400:客户端请求有语法错误,不能被服务器所理解
401:请求未经授权
403:请求的页面禁止访问
404:访问的页面资源不存在
500:服务器发生不可预期的错误但是原来缓存的文档还可以继续使用
503:请求未完成,服务器可以临时发生当机,一段时间后恢复

6.持久链接

即keep-alive字段设置
http协议一般采用临时应答模式,即每个请求和应答,客户端和服务器都要重新建立一个连接,当请求和应答完成后服务器会断开连接
当使用keep-alive连接时,即客户端和服务端会持久连接,客户端可以向服务端持续发送请求

7.管线化

(1)在采用持久连接的情况下,一般连接的消息传递为:req1=>res1=>req2=>res2=>req3=>res3
    管线化:req1=>req2=>req3=>res1=>res2=>res3
(2)管线化连接的注意事项:
    1.管线化机制需要持久连接的支持,且http1.1协议才支持该技术
    2.初次连接的时候不要启动管线化机制,服务端不一定支持
    3.只有get和head请求支持管线化,而post有一定限制

8.http协议头部的一些重要key值

https://blog.csdn.net/selinda001/article/details/79338766

9.http协议版本的变化

https://blog.csdn.net/qq825524012/article/details/95103453

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值