HTTP响应状态码详解(HTTP3)

简介: HTTP响应状态码详解(HTTP3)

HTTP响应

image.png

我们的HTTP响应格式,之前已经学习过了!

我们知道每次响应都会在第一行状态行中返回响应的信息!

而最重要的信息就是状态码,不同的状态码表示不同的响应状态,对于请求的结果是否失败或者成功或者出现了什么bug都可以通过这个状态码来体现!


状态码

状态码一般由3位十进制数据构成!

不同数字开头的状态码有不同的含义!

从1开头到5开头分别代表不同类别的状态码!

image.png

上面就是状态码的分类及其每个分类含义!


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


200 OK

image.png

状态码200 OK表示浏览器获取到了响应结果,并且一切顺利!

如果我们我们的网络啥的没有问题基本上抓取到都是200 OK这个状态码!

image.png


301 Moved Permanently

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


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

就是直接跳转到该URL!


302 Found

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


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

image.png

Location记录了重定向后的网页URL!


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


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


401 Unauthorized

表示这个请求需要用户验证!

image.png


402 Payment Required

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


403 Forbidden

image.png

如果你访问的资源没有权限,服务器就会返回403 Forbidden这个状态码!

image.png


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

image.png


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

image.png


405 Method Not Allowed

前面我们已经学过了GET和HOST等方法!

有些服务器只能允许用GET方法请求访问,如果用POST方法进行请求服务器就会返回这个405 Method Not Allowed响应!

这样的状态码比较难抓包,一般在我们自己的服务器构造请求和响应就很常遇到这个响应!也就定位了bug!


418 I’m a teapot

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


这就是一个菜单,程序员的浪漫!

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


500 Internal Server Error

服务器出现了重大故障!服务器出bug了!

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


504 Gateway Timeout

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


总结

image.png

我们通过状态码的开头就可以知道该响应信息当前状态!

100开头是接收的请求正在处理!

200开头是请求处理成功!

300开头是重定向状态!

400开头是客户端的问题!

500开头是服务器的问题!

image.png

目录
相关文章
|
2月前
|
缓存
|
1月前
|
数据采集 JSON Go
Go语言实战案例:实现HTTP客户端请求并解析响应
本文是 Go 网络与并发实战系列的第 2 篇,详细介绍如何使用 Go 构建 HTTP 客户端,涵盖请求发送、响应解析、错误处理、Header 与 Body 提取等流程,并通过实战代码演示如何并发请求多个 URL,适合希望掌握 Go 网络编程基础的开发者。
|
2月前
|
缓存 JavaScript 前端开发
Vue 3 HTTP请求封装导致响应结果无法在浏览器中获取,尽管实际请求已成功。
通过逐项检查和调试,最终可以定位问题所在,修复后便能正常在浏览器中获取响应结果。
143 0
|
2月前
HTTP协议中常见的状态码 ?
HTTP协议状态码分为1xx、2xx、3xx、4xx、5xx五类。常见状态码包括:101(切换协议)、200(请求成功)、302(重定向)、401(未认证)、404(资源未找到)、500(服务器错误)。
250 0
|
2月前
|
Web App开发 缓存 数据安全/隐私保护
Django全栈实战:HTTP状态码与业务状态码的分层设计与实战应用
HTTP状态码是服务器响应请求的3位数字代码,分为1xx(信息)、2xx(成功)、3xx(重定向)、4xx(客户端错误)、5xx(服务器错误)。业务状态码则用于描述具体业务逻辑结果,常在响应体中返回。二者在前后端交互中有不同用途和处理方式。本文还介绍了如何在Django项目中设计并使用业务状态码。
177 0
|
6月前
|
JSON API 网络架构
HTTP常见的请求方法、响应状态码、接口规范介绍
本文详细介绍了HTTP常见的请求方法、响应状态码和接口规范。通过理解和掌握这些内容,开发者可以更好地设计和实现W
918 83
|
4月前
|
JSON 安全 网络协议
HTTP/HTTPS协议(请求响应模型、状态码)
本文简要介绍了HTTP与HTTPS协议的基础知识。HTTP是一种无状态的超文本传输协议,基于TCP/IP,常用80端口,通过请求-响应模型实现客户端与服务器间的通信;HTTPS为HTTP的安全版本,基于SSL/TLS加密技术,使用443端口,确保数据传输的安全性。文中还详细描述了HTTP请求方法(如GET、POST)、请求与响应头字段、状态码分类及意义,并对比了两者在请求-响应模型中的安全性差异。
354 20
|
7月前
|
API 数据安全/隐私保护
Haskell中的HTTP请求:代理与响应状态检查
Haskell中的HTTP请求:代理与响应状态检查
|
9月前
【网路原理】——HTTP状态码和Postman使用
状态码(200,404,403,405,500,504,302),Postman下载和使用构造请求
|
11月前
|
存储 JSON API
HTTP 请求与响应处理:C#中的实践
【10月更文挑战第4天】在现代Web开发中,HTTP协议至关重要,无论构建Web应用还是API开发,都需要熟练掌握HTTP请求与响应处理。本文从C#角度出发,介绍HTTP基础知识,包括请求与响应结构,并通过`HttpClient`库演示如何发送GET请求及处理响应,同时分析常见错误并提供解决方案,助你更高效地完成HTTP相关任务。
327 2