HTTP响应状态码详解(HTTP3)

article/2025/8/31 12:06:16

文章目录

  • 本章重点
  • HTTP响应
  • 状态码
    • 200 OK
    • 301 Moved Permanently
    • 302 Found
    • 401 Unauthorized
    • 402 Payment Required
    • 403 Forbidden
    • 404 Not found
    • 405 Method Not Allowed
    • 418 I'm a teapot
    • 500 Internal Server Error
    • 504 Gateway Timeout
    • 总结

本章重点

  • 主要认识不同响应中的状态码含义

HTTP响应

在这里插入图片描述
我们的HTTP响应格式,之前已经学习过了!
我们知道每次响应都会在第一行状态行中返回响应的信息!
而最重要的信息就是状态码,不同的状态码表示不同的响应状态,对于请求的结果是否失败或者成功或者出现了什么bug都可以通过这个状态码来体现!

状态码

状态码一般由3位十进制数据构成!
不同数字开头的状态码有不同的含义!
从1开头到5开头分别代表不同类别的状态码!
在这里插入图片描述上面就是状态码的分类及其每个分类含义!

我们主要介绍几个常见的状态码信息!

200 OK

在这里插入图片描述
状态码200 OK表示浏览器获取到了响应结果,并且一切顺利!
如果我们我们的网络啥的没有问题基本上抓取到都是200 OK这个状态码!
在这里插入图片描述

301 Moved Permanently

在请求的 URL 已被移除时使用。

响应的 Location 首部中应该包含 资源现在所处的 URL。除非额外指定,否则这个响应也是可缓存的.
就是直接跳转到该URL!

302 Found

请求的资源现在临时从不同的 URI 响应请求。

由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。客户端应该使用 Location 首部给出的 URL 来临时定位资源。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。
在这里插入图片描述
Location记录了重定向后的网页URL!

状态码301和302作用有点类似!

301重定向是永久跳转到location而302只是暂时重定向!

401 Unauthorized

表示这个请求需要用户验证!
在这里插入图片描述

402 Payment Required

此响应码保留以便将来使用,创造此响应码的最初目的是用于数字支付系统,然而现在并未使用!

403 Forbidden

在这里插入图片描述
如果你访问的资源没有权限,服务器就会返回403 Forbidden这个状态码!
在这里插入图片描述

404 Not found

在这里插入图片描述但我们访问bilibili下的/1.html网页时,因为压根就没有这个网页,资源不存在就会触发Not found 但是bilibili设计的比较卡哇伊,返回了一个动漫给你看!

在这里插入图片描述
可以看到当我们访问一个不存在的网站时,服务器就会返回一个404 Not Found状态码!
在这里插入图片描述

405 Method Not Allowed

前面我们已经学过了GETHOST等方法!
有些服务器只能允许用GET方法请求访问,如果用POST方法进行请求服务器就会返回这个405 Method Not Allowed响应!
这样的状态码比较难抓包,一般在我们自己的服务器构造请求和响应就很常遇到这个响应!也就定位了bug!

418 I’m a teapot

HTTP文档指出:当客户端给一个茶壶发送泡咖啡的请求时,茶壶就返回一个418错误状态码,表示“我是一个茶壶”。

这就是一个菜单,程序员的浪漫!
就是可以设置某一时刻你访问的某一个网站,该网站返回的响应和此前的不一样,就有点惊喜,也可能是惊喜,还是少写几行代码舒服!!!

500 Internal Server Error

服务器出现了重大故障!服务器出bug了!
这个状态码也比较少见,在后面自己编写服务器时会出现!

504 Gateway Timeout

服务器繁忙,它们在 等待另一服务器对其请求进行响应时超时了!

总结

在这里插入图片描述
我们通过状态码的开头就可以知道该响应信息当前状态!
100开头是接收的请求正在处理!
200开头是请求处理成功!
300开头是重定向状态!
400开头是客户端的问题!
500开头是服务器的问题!
在这里插入图片描述


http://chatgpt.dhexx.cn/article/jfDyiEXE.shtml

相关文章

HTTP、HTTPS、请求、返回、HTTP响应码、cookie、编码

目录 一、https&http HTTP HTTPS 区别 二、request请求数据包格式 请求行 请求头 空行 请求体 三、response返回数据包数据格式 四、HTTP响应码: 五、保持HTTP连接状态--Cookie和会话 1. 会话 2. Cookies (1)cookie的传送过程 &#…

常见HTTP响应状态码

状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值: 1xx:指示信息--表示请求已接收,继续处理 2xx:成功--表示请求已被成功接收、理解、接受 3xx:重定向--信息不完整需要进一…

常用HTTP响应状态码

web应用中常用的响应状态码: 状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值: 1xx:指示信息–表示请求已接收,继续处理 2xx:成功–表示请求已被成功接收、理解、接受 3xx:重定向–信息不完整需要进一步补充 4xx:客户端错误–请求有语法错误或请…

HTTP响应(作用,格式,响应码的组成和分类,常见响应状态码)

目录 一,HTTP响应的作用 二,HTTP响应的整体格式 三,HTTP响应状态码 四,HTTP响应状态码的组成和分类 五,HTTP常见响应状态码 2**成功响应相关 3**重定向相关 4**客户端响应相关 5**服务端响应相关 六&#xf…

常用HTTP协议响应码

HTTP响应码,也称http状态码(HTTP Status Code),反映了web服务器处理HTTP请求状态,每一个响应码都代表了一种服务端反馈的响应状态,标识了本次请求是否成功。我们应该了解常见的响应码代表的状态,通过响应码能够对错误进…

HTTP响应码,大详解

1.HTTP的正确响应码 一、1XX (1开头) 请求已经被接收到了,需要进一步处理才能完成,HTTP1.0不支持; 100 Continue 上传大文件前先让服务器准备,由客户端发起请求中携带Except:100-continue 头…

HTTP 响应码大全

HTTP 状态码(HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。它由 RFC2616 规范定义的,并得到 RFC2518、RFC2817、RFC2295、RFC2774 与 RFC4918 等规范扩展。所有状态码的第一个数字代表了响应的五种状态之一。所示的消息短语是典型的…

【从零开始学架构-李运华】06|复杂地来源:可扩展性

可扩展性指系统为了应对将来需求的变化而提供的一种扩展能力,新需求出现时系统不需要或者仅需要少量修改就可以支持,无需整个系统重构或者重建。 面向对象就是为了解决可扩展性,后来的设计模式更是将可扩展性做到了极致。 具备良好扩展性的两…

【从零开始学架构-李运华】07|低成本、安全、规模

低成本 高性能和高可用架构通常都是增加服务器来满足要求,但低成本正相反,当然也不是首要目标。 往往“创新”才能达到低成本的目标!! 技术创新: NoSQL(Memcache、Redis)等是为了解决关系型数…

阿里P9李运华:想成为架构师,你必须知道CAP理论

CAP定理(CAP theorem)又被称作布鲁尔定理(Brewers theorem),是加州大学伯克利分校的计算机科学家埃里克布鲁尔(Eric Brewer)在2000年的ACM PODC上提出的一个猜想。2002年,麻省理工学…

笔记——专访李运华:程序员如何在技术上提升自己

原文链接:http://www.csdn.net/article/2014-10-20/2822190 摘要: 专访李运华:程序员如何在技术上提升自己 方法: 1 写博客 2 链式学习:从一个点不断学习相关的知识 3 闭环学习:了解整个功能或业务的全流…

【从零开始学架构-李运华】09|架构设计原则案例

【淘宝】 个人网站 > Oracle/支付宝/旺旺 > Java时代1.0 > Java时代2.0 > Java时代3.0 > 分布式时代 买一个快速可用、快速开发的系统。 MySQL升级Oracle,买性能 3. PHP切换Java,重构网站 4. 增加各种组件框架优化性能控制成本 5. 去I…

【从零开始学架构-李运华】05|复杂度来源:高可用

高可用的定义 系统无中断地执行其功能的能力,代表系统的可用性成都,是进行系统设计时的准则之一。 虽然方案五花八门但本质就是“冗余”! 与高性能的区别 高性能增加机器在于扩展处理性能,高可用在于增加冗余单元防止中断。 计算…

【从零开始学架构-李运华】04|复杂度来源:高性能

复杂度的六个来源之一:高性能 运算性能迅猛发展、软件复杂度发展、硬件存储发展。 用来代替旧技术的新技术才会给软件系统带来复杂度,而用来淘汰旧技术的新技术则不用担心。 1.单台计算机 手工操作->批处理->进程->分时多进程->进程通信-&…

【从零开始学架构-李运华】03|架构设计的目的

架构设计的误区 系统不一定需要架构设计; 架构设计不一定能提升开发效率; 好的架构设计能促进业务发展; 不是所有系统都需要架构设计; 等等…… 架构设计的真正目的 为了解决软件复杂度带来的问题 如何下手架构设计?…

李运华《从零开始学架构》——架构设计三原则

课程链接 https://time.geekbang.org/column/intro/100006601?utm_sourcetime_web&utm_mediummenu&utm_termtimewebmenu 分割线 前面几期专栏,我跟你系统的聊了架构设计的主要目的是为了解决软件系统复杂度带来的问题,并分析了复杂度的来源…

专访李运华:程序员如何在技术上提升自己

摘要:社区之星第56期采访了UC的软件工程师李运华,他先后经历了电信行业和互联网行业。在本次采访中,李老师分享了他的职场经历、团队管理经验、程序员提升自己的方法和应具备的素养,以及谈了对面向对象和编程语言看法。 李运华&a…

阿里P9李运华:架构到底是指什么?

你好,我是李运华。 2018 年,我发布了《从 0 开始学架构》这门课程,分享了我之前在电信业务和移动互联网业务方面的经验和感悟。 后来,我转岗去了蚂蚁国际,从事更加复杂的支付业务。为什么说支付业务更加复杂&#xf…

Rust之fluid用法(fltk ui 设计器)

fl2rust 用法 $ cargo install fl2rust然后运行&#xff1a; $ fl2rust <fl file>.fl > <output file>.rs 要通过 cargo 实现自动化&#xff0c;我们可以通过将 fl2rust 添加到构建依赖项中来将其用作库&#xff1a; # Cargo.toml [dependencies] fltk &q…

FLTK学习笔记2-回调函数

FLTK学习笔记2-回调函数 回调函数为控件添加回调函数程序示例 回调函数 回调函数&#xff08;Callback&#xff09;简单说来就是一个以函数指针的方式被调用的函数。 考虑如下情况&#xff0c;我们编写了一个整数排序算法函数mySort&#xff1a; void mySort(std::vector<…