计算机网络笔记再战——理解几个经典的协议HTTP章3

news/2025/3/20 21:39:26/
http://www.w3.org/2000/svg" style="display: none;">

理解几个经典协议——HTTP章3

返回结果的HTTP状态码

​ 我们知道,ICMP可以传递IP通信时候的状态如何。HTTP虽然没有辅助的解析,但是它可以使用状态码来表达我们的HTTP请求的结果,标记服务器端的处理是否正常、通知出现的错误等工作。这就是状态码的职责。

​ 比如说,当我们的状态码是2xx的时候,就说明我们的请求不光到达了服务器,而且还得到了正确的处理。如果出现了4XX,则是说明我们的服务器无法请求处理(这个请求是你的请求出现的问题),如果出现了5XX,说明是服务器内部的错误,这是服务器的问题。所以,我们对状态码的第一位做一个分类,可以得到:

种类类别原因短语
1XX信息性状态码接收的请求正在处理
2XX成功状态码请求正常处理完毕
3XX重定向状态码需要进行附加操作以完成请求
4XX客户端错误码服务器无法处理请求,这是客户端的请求非法导致的
5XX服务端错误码服务端请求处理出错了,这是服务器内部的错误

​ 具体每一个号码的请求请参考附录。

与 HTTP 协作的 Web 服务器

​ 我们的HTTP/1.1 规范允许一台 HTTP 服务器搭建多个 Web 站点。这就是使用物理单台主机的虚拟多主机(也就是说,我们虚拟化了我们的主机,看起来有很多台主机在运作,但是实际上只有一台)

​ 客户端使用 HTTP 协议访问服务器时,会经常采用类似这样的主机名和域名。在互联网上,域名通过 DNS 服务映射到 IP 地址(域名解析)之后访问目标网站。可见,当请求发送到服务器时,已经是以 IP 地址形式访问了。

通信数据转发程序 :代理、网关、隧道

​ HTTP通信除了围绕我们的客户端和服务器之外,还会有一部分用来进行通信数据转发。比如说,我们的代理,网关和隧道,他们配合我们的服务器进行工作。

代理

​ 代理是一种有转发功能的应用程序,它扮演了位于服务器和客户端“中间人”的角色,接收由客户端发送的请求并转发给服务器,同时也接收服务器返回的响应并转发给客户端。这个时候,我们授权让我们的代理跟我们的服务器进行通话,而不是我们本人

网关

​ 网关是转发其他服务器通信数据的服务器,接收从客户端发送来的请求时,它就像自己拥有资源的源服务器一样对请求进行处理。有时客户端可能都不会察觉,自己的通信目标是一个网关。

隧道

​ 隧道是在相隔甚远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序。我们一般会用来进行安全加密,保证一个安全的HTTP通信

资源的缓存

​ 缓存是指代理服务器或客户端本地磁盘内保存的资源副本。利用缓存可减少对源服务器的访问,因此也就节省了通信流量和通信时间。

​ 缓存服务器是代理服务器的一种,并归类在缓存代理类型中。换句话说,当代理转发从服务器返回的响应时,代理服务器将会保存一份资源的副本。

​ 这个场景,是我们用在请求一部分资源的时候,我们的缓存服务器会咨询我们的源服务器对应的资源是否有效,如果有效,缓存服务器直接将缓存的副本传递回来,而不是再请求一次资源。毕竟,传递“这个资源有效,就用你原来的”的消耗远比直接不管不顾再发送资源来的快。

​ 当然,资源本身也是有期限的,不管是不是过期了,失能的资源需要再向服务器发起请求刷新。

附录

状态码大全

状态码含义出现状态码的原因
100Continue客户端应继续其请求,服务器已接收到请求的初始部分
101Switching Protocols服务器已理解请求,并将切换协议
102Processing服务器已收到并正在处理请求,但尚未完成
200OK请求成功
201Created请求成功并创建了新资源
202Accepted请求已被接受,但尚未处理
203Non-Authoritative Info返回的信息来自第三方而非原始服务器
204No Content请求成功,但无返回内容
205Reset Content请求成功,请重置文档视图
206Partial Content服务器成功处理了部分请求
207Multi-Status响应包含多个独立操作结果(WebDAV)
300Multiple Choices请求有多种可用响应
301Moved Permanently请求的资源已永久移动到新位置
302Found请求的资源临时从不同 URI 响应
303See Other请求应通过另一个 URI 获取资源
304Not Modified资源未修改,可使用缓存
305Use Proxy请求应使用代理访问
307Temporary Redirect请求的资源临时从不同 URI 响应(方法不变)
308Permanent Redirect请求的资源永久从不同 URI 响应(方法不变)
400Bad Request请求格式错误,服务器无法理解
401Unauthorized请求未经授权,需身份验证
402Payment Required保留状态码,预留用于将来支付机制
403Forbidden服务器理解请求但拒绝执行
404Not Found请求的资源不存在
405Method Not Allowed请求方法被禁止
406Not Acceptable请求的资源不满足客户端的 Accept 头要求
407Proxy Authentication Req需要代理身份验证
408Request Timeout请求超时
409Conflict请求冲突(例如资源状态冲突)
410Gone请求的资源已被永久删除
411Length Required请求未定义 Content-Length 头
412Precondition Failed请求头中指定的前提条件失败
413Payload Too Large请求实体过大
414URI Too Long请求的 URI 过长
415Unsupported Media Type请求格式不受支持
416Range Not Satisfiable请求的范围无效
417Expectation Failed请求头中的 Expect 无法满足
418I’m a teapot玩笑用的状态码,不支持冲泡咖啡
421Misdirected Request请求被发送到不能生产响应的服务器
422Unprocessable Entity请求格式正确但语义错误(WebDAV)
423Locked资源被锁定(WebDAV)
424Failed Dependency由于之前的请求失败,当前请求失败(WebDAV)
425Too Early服务器不愿意处理过早的请求
426Upgrade Required客户端需升级协议
428Precondition Required需指定请求条件以防止冲突
429Too Many Requests客户端发送请求过多,已被限流
431Request Header Fields Too Large请求头字段过大
451Unavailable For Legal Reasons请求内容因法律原因不可用
500Internal Server Error服务器内部错误
501Not Implemented服务器不支持请求方法
502Bad Gateway网关服务器收到无效响应
503Service Unavailable服务器暂时超载或维护中
504Gateway Timeout网关服务器请求超时
505HTTP Version Not Supported不支持的 HTTP 版本
506Variant Also Negotiates内容协商出现循环引用
507Insufficient Storage服务器无法存储请求所需内容(WebDAV)
508Loop Detected服务器检测到无限循环(WebDAV)
510Not Extended请求需进一步扩展
511Network Authentication Required需要进行网络认证

http://www.ppmy.cn/news/1580688.html

相关文章

Python 生成数据(随机漫步)

数据可视化 指的是通过可视化表示来探索数据,它与数据挖掘 紧密相关,而数据挖掘指的是使用代码来探索数据集的规律和关联。数据集可以是用一行代码就能表 示的小型数字列表,也可以是数以吉字节的数据。 随机漫步 在本节中,我们将…

POI和EasyExcel---处理Excel

01 Apache POI简介 Apache POI 是一个开源的Java库,用于处理Microsoft Office格式的文档。它提供了丰富的API,允许开发者在Java应用中读取、写入和操作Excel、Word、PowerPoint等文件,是处理Office文档的常用工具。 核心功能 • 支持多种格…

BFS,DFS带图详解+蓝桥杯算法题+经典例题

1.BFS和DFS的定义与实现方式 1.1 深度优先搜索(DFS) 基本概念:DFS 是一种用于遍历或搜索图或树的算法。它从起始节点开始,沿着一条路径尽可能深地探索下去,直到无法继续或者达到目标节点,然后回溯到上一个…

pytest 框架学习总结

视频:pytest01-快速上手_哔哩哔哩_bilibili 资料:pytest 框架 - 白月黑羽 基于 Python 语言的自动化测试框架 最知名的 有如下 3 款unittest、pytest、robotframework 前两款框架主要(或者说很大程度上)是 聚焦 在 白盒单元测试…

【图像处理基石】什么是HDR图片?

1. 什么是HDR图片? HDR(高动态范围图像,High Dynamic Range)是一种通过技术手段扩展照片明暗细节的成像方式。以下是关于HDR的详细说明: 核心原理 动态范围:指图像中最亮和最暗区域之间的亮度差。人眼能…

举例说明 牛顿法 Hessian 矩阵

矩阵求逆的方法及示例 目录 矩阵求逆的方法及示例1. 伴随矩阵法2. 初等行变换法矩阵逆的实际意义1. 求解线性方程组2. 线性变换的逆操作3. 数据分析和机器学习4. 优化问题牛顿法原理解释举例说明 牛顿法 Hessian 矩阵1. 伴随矩阵法 原理:对于一个 n n n 阶方阵 A A

大语言模型的“细胞“:拆解语言模型的DNA——Token

大语言模型的"细胞":拆解语言模型的DNA——Token 你刚接触AI大模型时,一定听说过"token"这个词。就像生物体的基本单位是细胞,大语言模型处理信息的最小单元就是token。这个看似简单的概念,实则是理解AI如何…

Python驾驭大数据:从数据洪流中挖掘价值

Python驾驭大数据:从数据洪流中挖掘价值 在这个数据爆炸的时代,“数据即财富”已经成为不争的事实。然而,对于大多数企业与个人而言,仅拥有数据并不足够,关键是如何将数据转化为洞察与决策。Python,作为现代数据科学的核心工具,以其强大的生态和简单高效的特性,在大数…