关于HTTP通讯流程知识点补充—常见状态码及常见请求方式

1、常见的 HTTP 响应状态码

  • 在一个HTTP请求响应报文中的状态行会有一个响应状态码
  • 这个状态码是用来描述本次响应的状态的 ●
  • 通常会出现五种状态码
  1. 100 ~ 199
  2. 200 ~ 299
  3. 300 ~ 399
  4. 400 ~ 499
  5. 500 ~ 599

2、100 ~ 199------请求准备状态

一般我们看不到,因为表示请求继续

  1. 100: 继续请求,前面的一部分内容服务端已经接受到了,正在等待后续内容
  2. 101: 请求者已经准备切换协议,服务器页表示同意
  3. 剩下的状态码:可以在服务端自定义这些状态码,但是已经有含义的这些规范的状态码是可以继续沿用的

3、200 ~ 299------请求成功

  • 2开头的都是表示成功,本次请求成功了
  • 只不过不一样的状态码有不一样的含义(语义化)
  1. 200: 标准请求成功(一般表示服务端提供的是网页)
  2. 201: 创建成功(一般是注册的时候,表示新用户信息已经添加到数据库)
  3. 203: 表示服务器已经成功处理了请求,但是返回的信息可能来自另一来源(服务端返回的数据不是在本地服务器返回的,而是通过其它服务器返回的数据,比如a找b借钱,b不够则找c借钱,c给完b,b在把数据给a)
  4. 204: 服务端已经成功处理了请求,但是没有任何数据返回

4、300 ~ 399------重定向

  • 3开头也是成功的一种,但是一般表示:重定向
  1. 301: 永久重定向 => 当前服务器压根不是处理响应的服务器,只是转发请求的服务器,比如淘宝:请求的太多了,可能会把各种请求分给不同功能的服务器去处理
  2. 302: 临时重定向 => 服务器负载满了,给浏览器临时分配一个处理的地方
  3. 304: 使用的是缓存的数据
  4. 305: 使用代理 => 当前服务器并不负责返回响应,它只是转发请求的,让别的服务器去返回响应,然后它在转回数据

5、400 ~ 499------表示错误,配置信息可能出错了

  • 4开头表示客户端出现错误
  1. 400: 请求的语法服务端不认识
  2. 401: 未授权(你要登录的网站需要授权登录)
  3. 403: 服务器拒绝了你的请求 => 没有携带正确的信息/发起了一些异常请求/因为一些安全策略被服务器拒绝,来源可能不够安全
  4. 404: 服务器找不到你请求的 URL => 实际开发中:一般都会404去指代一切找不到资源的情况
  5. 407: 你的代理没有授权 => 违规代理
  6. 408: 请求超时 => 服务端超时
  7. 410: 你请求的数据已经被服务端永久删除

6、500 ~ 599------服务器错误

  • 5开头的表示服务端出现了错误
  1. 500: 服务器内部错误 => 告知服务端错误情况,让他维护一下代码
  2. 503: 服务器当前不可用(过载或者维护),也有可能是防火墙出现问题了 => 请求被防火墙拦截/服务器返回的响应被防火墙拦截
  3. 505: 请求的协议服务器不支持

7、常见的 HTTP 请求方式

  • 每一个HTTP请求请求行里面会有一个东西叫做请求方式
  • 不同的请求方式代表的含义不同
  • 我们比较常用的就是GETPOST
  1. GET: 一般用于获取一些信息使用(获取列表)
  2. POST: 一般用于发送一些数据给服务端(登录)
  3. PUT: 一般用于发送一些数据给服务当让其添加新数据(注册)
  4. DELETE: 一般用域删除某些数据
  5. HEAD: 类似于 GET 的请求,只不过一般没有响应的具体内容,用于获取报文头
  6. CONNECT: HTTP/1.1 中预留的方式,一般用于管道链接改变为代理的时候使用
  7. PATCH: 是和 PUT 方式类似的一个方式,一般用于更新局部数据
  8. OPTIONS: 允许客户端查看服务端性能

8、GET 请求特征

  1. 参数QueryString的形式发送,也就是直接拼接在 => 请求路径的后面(url?QueryString => url?key = value)
  2. GET 请求会被浏览器主动缓存 => 在下次请求时,如果请求的参数没有发生改变,那么就可能调用缓存,提升浏览器的执行性能
  3. GET 请求根据不同的浏览器对长度是有限制
    • IE: 2083 个字符
    • FireFox: 65536 个字符
    • Safari: 80000 个字符
    • Opera: 190000 个字符
    • Chrome: 8182 个字符
    • APACHE(server阿帕奇服务器-后端处理请求的服务器): 理论上接受的最大长度是 8192 个字符(有待商榷)
  4. 参数的类型有限制,只接受 ASCII 码的格式

9、POST 请求特征

  1. 参数以request body的形式发送,也就是放在请求体
  2. POST 请求不会被浏览器主动缓存,除非手动设置
  3. POST 请求的理论上是没有限制的(不限制长度 => 携带的数据内存大小),除非服务端做了限制
  4. 参数类型没有限制,理论上可以传递任意数据类型,只不过要和请求头对应
相关推荐
桂月二二4 小时前
探索前端开发中的 Web Vitals —— 提升用户体验的关键技术
前端·ux
幽兰的天空5 小时前
介绍 HTTP 请求如何实现跨域
网络·网络协议·http
lisenustc5 小时前
HTTP post请求工具类
网络·网络协议·http
心平气和️5 小时前
HTTP 配置与应用(不同网段)
网络·网络协议·计算机网络·http
心平气和️5 小时前
HTTP 配置与应用(局域网)
网络·计算机网络·http·智能路由器
喜-喜5 小时前
C# HTTP/HTTPS 请求测试小工具
开发语言·http·c#
CodeClimb5 小时前
【华为OD-E卷 - 第k个排列 100分(python、java、c++、js、c)】
java·javascript·c++·python·华为od
hunter2062065 小时前
ubuntu向一个pc主机通过web发送数据,pc端通过工具直接查看收到的数据
linux·前端·ubuntu
qzhqbb5 小时前
web服务器 网站部署的架构
服务器·前端·架构
刻刻帝的海角5 小时前
CSS 颜色
前端·css