news 2026/8/1 18:48:49

HTTP状态码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HTTP状态码

HTTP(Hypertext Transfer Protocal)超文本传输协议。是一种详细规定了客户端浏览器和万维网服务器之间相互通讯的规则,通过因特网传送万维网文档的数据传送协议。

HTTP的请求响应模型:

HTTP协议永远都是客户端发起请求,服务器回送响应。如下图所示:

这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。

HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。

工作流程:

一次HTTP操作称为一个事务,其工作过程分为四步:

  • 首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。
  • 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
  • 服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
  • 客户端接收服务器返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。

常见的状态码:

1xx:

100 客户端必须继续发出请求

101 客户端要求服务器根据请求转换HTTP协议版本

2xx:

200 交易成功

201 提示知道新文件的URL

202 接受和处理、但处理未完成

203 返回信息不确定或不完整

204 请求收到,但返回信息为空

205 服务器完成了请求,用户代理必须复位当前已经浏览过的文件

206 服务器已经完成了部分用户的GET请求

3xx:

300 请求的资源可在多处得到

303 建议客户端访问其他URL或访问方式

4xx:

400 错误请求,如语法错误

401 未授权

402 保留有效Charge To头响应

403 禁止访问

404 没有发现文件、查询或URL

5xx:

500 内部服务器错误

501 未实现

502 网关错误

HTTP状态保持

HTTP协议本身是无状态的,这与HTTP协议本来目的是相符的,客户端只需要简单的向服务器请求下载某些文件,无论客户端还是服务端都没有必要记录彼此过去的行为,每一次请求之间都是独立的。cookie的作用就是为了解决HTTP协议无状态的缺陷所作出的努力。后来出现的session机制则是一种在客户端与服务器之间保持状态的解决方案。

Cookie与Session之间的区别

  • Cookie将状态保存在客户端,Session将状态保存在服务器端;
  • Cookie是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器。
  • Session是针对每一个用户的,变量的值保存在服务器上,用一个sessionID来区分是哪一个用户session变量,这个值是通过用户的浏览器在访问的时候返回给服务器,当客户禁用cookie时,这个值也可能设置为由get来返回给服务器;

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/1 17:19:50

AYA桌面控制:5分钟掌握Android设备高效管理终极指南

AYA桌面控制:5分钟掌握Android设备高效管理终极指南 【免费下载链接】aya Android adb desktop app 项目地址: https://gitcode.com/gh_mirrors/aya/aya 你是否曾经为了管理Android设备而不得不记住各种复杂的ADB命令?AYA桌面控制工具正是为解决这…

作者头像 李华
网站建设 2026/8/1 5:25:42

Inkscape光学插件:如何在矢量绘图中实现精准光线追踪?

Inkscape光学插件:如何在矢量绘图中实现精准光线追踪? 【免费下载链接】inkscape-raytracing An extension for Inkscape that makes it easier to draw optical diagrams. 项目地址: https://gitcode.com/gh_mirrors/in/inkscape-raytracing 你…

作者头像 李华
网站建设 2026/8/1 7:56:26

20、Snort规则选项与iptables数据包过滤

Snort规则选项与iptables数据包过滤 在网络安全防护中,Snort和iptables是常用的工具。Snort是一款强大的入侵检测系统(IDS),而iptables则是Linux系统中常用的防火墙工具。本文将介绍一些Snort规则选项,这些选项不仅可以在Snort中使用,还能在iptables中找到对应的匹配和过…

作者头像 李华
网站建设 2026/8/1 21:53:13

(EUDR)欧盟零毁林法案,EUDR到底是什么?

一、EUDR到底是什么?为什么被称为“丛林大考”?简单来说,EUDR是一张 “绿色通行证” 。它要求所有在欧盟市场销售七大类商品(牛肉、木材、咖啡、可可、大豆、棕榈油、橡胶)及衍生产品的企业,必须证明其产品…

作者头像 李华
网站建设 2026/8/1 9:07:34

26、端口敲门与单包授权:网络安全认证方法对比

端口敲门与单包授权:网络安全认证方法对比 1. 端口敲门技术基础 UDP 校验和伪造示例 在网络安全认证中,端口敲门是一种较为特殊的技术。我们可以通过执行特定脚本并使用以太网嗅探器观察 UDP 数据包来了解其部分特性。例如执行以下命令: # ./craft_udp_checksum.pl 192…

作者头像 李华
网站建设 2026/8/1 17:04:45

Java 线程池深度实战:从原理到高并发调优

一、引言:为什么线程池是并发编程的基石?在 Java 并发编程中,频繁创建与销毁线程会带来显著的性能损耗:线程的创建需要分配栈内存(默认 1MB)、初始化线程局部变量等资源,销毁时又需回收这些资源…

作者头像 李华