今天来分享一下HTTP 响应状态码 一文读懂 HTTP 响应状态码:从 1xx 到 5xx 全解析 HTTP 响应状态码是客户端与服务器沟通的“通用语言”。...❌ 客户端错误 4xx 请求有误或无权限 客户端自查 ⚠️ 服务器错误 5xx 服务端内部故障 服务端修复 1️⃣ 1xx:信息性响应(Informational) 含义:请求已被接收,服务器正在处理中...307 Temporary Redirect:临时重定向,保留原始请求方法和 body(适合 POST 重试)。...常见代码 400 Bad Request:请求格式错误(如 JSON 解析失败、参数缺失)。 401 Unauthorized:未认证(缺少 Token、Session 失效)。...实战建议 场景 推荐做法 前端处理 对 4xx 显示用户友好提示;对 5xx 提供“稍后重试”按钮 API 设计 明确使用 400(参数错) vs 422(语义错,如邮箱格式正确但已被注册) 日志记录
,因为简单灵活适用于数据分析 15、HTTP请求 请求行:请求方法+URL+协议版本 请求头:请求体的数据类型User-Agent描述请求发送端的浏览器类型 请求体:post(添加,常用于登录) put...(修改) 有请求体get(查询) delete(删除)没有请求体 16、HTTP响应 1XX:指示信息,表示请求已接受,继续处理 2XX:成功,表示请求已被成功接收、理解、接受,200 201 3XX:...重定向,要完成请求必须进行进一步的操作 4XX:客户端错误,请求由语法错误或请求无法实现,404 403 5XX:服务器端错误 17、传统风格接口 查询某个用户:get和post 查询所有用户:get和...post 添加用户:post 修改用户:post 删除用户:get和post 特点: 1、请求方法:只使用get和post即可 2、URL不唯一,同一个操作可以对应不同的URL 3、状态码的使用比较单一...19、接口测试流程 1、需求分析,主要依据需求文档 2、接口文档解析,一般是由开发人员编写接口文档(API文档) 3、设计测试用例 4、执行测试,使用接口测试工具实现或通过编写代码实现 5、接口缺陷管理与跟踪
205 Reset Content告诉用户代理重置发送此请求的文档。...301 Moved Permanently:永久搬家含义:请求的资源已永久移动到新位置SEO影响:搜索引擎会更新索引,将旧URL替换为新URL适用场景:网站域名更换页面永久迁移注意:客户端后续请求应使用新...POST改为GET307 Temporary Redirect严格重定向必须保持原请求方法建议:API开发中优先使用307,避免方法被意外转换303 See Other服务器发送此响应,以指示客户端通过一个...这与 302 Found HTTP 响应代码具有相同的语义,但用户代理 不能 更改所使用的 HTTP 方法:如果在第一个请求中使用了 POST,则在第二个请求中必须使用 POST308 Permanent...这与 301 Moved Permanently HTTP 响应代码具有相同的语义,但用户代理不能更改所使用的 HTTP 方法:如果在第一个请求中使用 POST,则必须在第二个请求中使用 POST。
2xxs状态码 200 OK:请求成功。成功的含义取决于HTTP方法: GET:资源已被提取并在消息正文中传输。 HEAD:实体标头位于消息正文中。 POST:描述动作结果的资源在消息体中传输。...TRACE:消息正文包含服务器收到的请求信息。(方法不安全,一般不用) 说到了HTTP的方法,可以戳HTTP请求方法这个解析教程来了解一下。...304 Not Modified:如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。...备注:这里要注意的是422,别请求链接一出错,就屁颠屁颠的找后端,先看下后端给过来的API文档中,要传的字段是否都准确跟上了。?...5xxs状态码 500 Internal Server Error:服务器内部错误,服务器遇到了不知道如何处理的情况。
HTTP请求方法、状态码和Header是相互配合一起工作的,客户端通过HTTP的方法告诉服务器要执行什么动作,服务器通过状态码来告诉客户端动作是否执行成功。...2 HTTP请求方法有哪些 常见的HTTP请求方法如下所示: 方法 描述 GET 请求指定的页面信息并返回实体主体 HEAD 类似GET请求,只不过返回的响应中没有具体内容,用于获取报头 POST...POST请求可能会导致新的资源的建立或者对已有资源的修改 PUT 从客户端向服务器传送的数据取代指定文档的内容 DELETE 请求服务器删除指定的页面 常见面试题:get和post请求的区别?...状态码一般有以下几类: 1XX 信息提示,表示请求已被成功接收,继续处理 2XX 成功,表示请求已被成功接收、理解、接受 3XX 重定向,要完成请求,必须进行更进一步的处理 4XX...404(Not Found )找不到资源 400(Bad Request) 表示客户端请求有语法错误,不能被服务器正确的解析 401(Unauthorized) 禁止访问/未认证 403
实际场景:用户通过旧域名的 POST 方法提交数据时,服务器返回 308 并在 Location 中指向新域名地址,提示后续需使用相同的 POST 方法直接访问新地址,搜索引擎也会将旧域名链接更新为新地址...解决方案:查看响应中的Allow首部,更换为服务器允许的 HTTP 方法(如将 POST 改为 GET)后重新请求。...实际场景:用户通过 If-Unmodified-Since: 2025-08-18 条件请求修改一份文档,要求仅当文档自 8 月 18 日后未被修改时才执行更新,但服务器检测到文档在 8 月 19 日已被他人修改...实际场景:用户在搜索框输入大量关键词,系统错误地将所有内容通过 GET 方法拼接成超长 URL 提交,或因多次重定向导致 URL 累积过长,服务器返回 414 提示 URI 超出处理长度,需改用 POST...实际场景:用户因 DNS 缓存错误,将请求发送到了与目标域名无关的服务器(如本应访问 api.example.com 却被解析到 api.other.com),该服务器无法处理请求,返回 421 提示请求被错误定向
它定义了客户端(如浏览器)与服务器之间进行通信的规则和格式,主要用于传输超文本(如HTML文档)以及其他网络资源。 简单来说,HTTP 定义了客户端(通常是 Web 浏览器)和服务器之间如何通信。...它可以通过 DNS 解析为服务器的 IP 地址。...HTTP方法 4.1 常见的 HTTP 方法 方法 描述 幂等性 安全性 GET 获取资源。只应用于请求数据,不应产生副作用。 是 是 POST 创建新资源或提交数据(如表单、文件上传)。...安全性:该方法不应改变服务器资源的状态。 其中最常用的就是GET方法和POST方法. 4.2 GET方法 定义: 用于获取资源,从服务器请求数据。 是最常用的 HTTP 方法。...Request:请求语法错误 401 Unauthorized:需要身份验证 403 Forbidden:服务器拒绝请求 404 Not Found:请求的资源不存在 5xx 服务器错误
; http2.0与1.1相比有如下几点不同: 多路复用,可以做到在一个连接并行的处理多个请求; header压缩; 服务端推送; 解析格式不同。...4 开头一般是客户端出现的问题 400 错误请求,客户端发送了一条异常请求,可能是域名不存在 401 未授权,登陆失败,用户名和密码错误 403 请求被拒绝,无权限访问 用setTimeout来实现setInterval...2xx 成功--表示请求已被成功接收、理解、接受 200 一切正常,对GET和POST请求的应答文档跟在后面 201 Created 服务器已经创建了文档,Location头给出了它的URL 202...严格地说,我们只能假定只有当原来的请求是GET时浏览器才会自动重定向 303 See Other 类似于301/302,不同之处在于,如果原来的请求是POST,Location头指定的重定向目标文档应该通过...许多浏览器会错误地响应302应答进行重定向,即使原来的请求是POST,即使它实际上只能在POST请求的应答是303时 才能重定向。
另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 其实通俗的讲就是通过程序去获取web页面上自己想要的数据,也就是自动抓取数据 爬虫可以做什么?...OPTIONS:这个方法可使服务器传回该资源所支持的所有HTTP请求方法。用’*’来代替资源名称,向Web服务器发送OPTIONS请求,可以测试服务器功能是否正常运作。...响应状态 有多种响应状态,如:200代表成功,301跳转,404找不到页面,502服务器错误 1xx消息——请求已被服务器接收,继续处理 2xx成功——请求已成功被服务器接收、理解、并接受 3xx重定向...客户端请求有语法错误,不能被服务器所理解 401 Unauthorized 请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 403 Forbidden 服务器收到请求,...如何解决js渲染的问题?
下面我们分析爬虫的基本流程 爬虫的基本流程 发起请求 通过HTTP库向目标站点发起请求,也就是发送一个Request,请求可以包含额外的header等信息,等待服务器响应 获取响应内容 如果服务器能正常响应...OPTIONS:这个方法可使服务器传回该资源所支持的所有HTTP请求方法。用'*'来代替资源名称,向Web服务器发送OPTIONS请求,可以测试服务器功能是否正常运作。...响应状态 有多种响应状态,如:200代表成功,301跳转,404找不到页面,502服务器错误 1xx消息——请求已被服务器接收,继续处理 2xx成功——请求已成功被服务器接收、理解、并接受 3xx重定向...客户端请求有语法错误,不能被服务器所理解 401 Unauthorized 请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 403 Forbidden 服务器收到请求,...其他:只要请求到的,都可以获取 如何解析数据 直接处理 Json解析 正则表达式处理 BeautifulSoup解析处理 PyQuery解析处理 XPath解析处理 关于抓取的页面数据和浏览器里看到的不一样的问题
,这可以通过Nginx规则来限定流氓爬虫的访问,直接返回403错误。...~ ^(GET|HEAD|POST)$) { return 403; } } 附录:UA收集 FeedDemon 内容采集 BOT/0.1 (BOT for JCE)...规则来限定流氓爬虫的访问,直接返回403错误。...每天的登录账户,请求后端 api 接口时,做调用次数限制。...对后台 api 返回信息进行加密处理 通过这4层设置,就可以有效的保护数据的安全了。
400 Bad Request:请求报文存在语法错误。 403 Forbidden:请求被服务器拒绝。 404 Not Found:请求不存在,服务器上找不到请求的资源。...7:线程池集成(异步处理请求) 目的:将客户端请求的处理(如解析HTTP、生成响应)放到线程池,避免阻塞epoll主线程。 ...} else return BAD_REQUEST; // 不支持的方法,返回错误 // 跳过URL前的空格和制表符(HTTP请求行中URL与方法间可能有多个空白...) } 《parse_request_line 函数》:解析HTTP请求行 功能 解析HTTP请求的第一行(请求行),提取请求方法(GET/POST)、目标URL和HTTP版本号,并根据解析结果设置状态机状态...识别请求方法: 若方法为GET,设置m_method=GET; 若为POST,设置m_method=POST并标记cgi=1(需CGI处理动态内容); 否则返回BAD_REQUEST(不支持的方法
客户端可以通过 OPTIONS 方法(预检)来查看服务器允许的访问方法, 如下Access-Control-Allow-Methods: GET,HEAD,PUT,PATCH,POST,DELETE4....,请求报文存在语法错误401 unauthorized,表示发送的请求需要有通过 HTTP 认证的认证信息403 forbidden,表示对请求资源的访问被服务器拒绝404 not found,表示在服务器上没有找到请求的资源...直到 html 全部解析完毕CSS 如何阻塞文档解析?...然而,存在一个问题,JavaScript 脚本执行时可能在文档的解析过程中请求样式信息,如果样式还没有加载和解析,脚本将得到错误的值,显然这将会导致很多问题。...也就是说,在这种情况下,浏览器会先下载和构建 CSSOM,然后再执行 JavaScript,最后再继续文档的解析。浏览器乱码的原因是什么?如何解决?
如何防御? SYN Flood攻击是一种拒绝服务攻击,攻击者通过发送大量的SYN请求,使服务器处于半开放连接状态,消耗服务器资源。...浏览器作为客户端向解析出的IP发出HTTP请求(GET, POST, HEAD等)。...流量控制和拥塞控制:通过窗口机制控制数据流量和网络拥塞,避免网络拥堵。 GET和POST的区别 GET 请求资源,POST 更新资源。...增加了错误码,例如 410 Gone 表示资源已被永久删除。 引入了 Host 头部字段,用于支持虚拟主机。 引入了 Range 头部字段,可以请求资源的部分内容,支持断点续传。...HTTP/2 支持多路复用,在一个连接中并行处理多个请求和响应,避免了 HTTP 1.1 的队头阻塞问题。 HTTP/2 支持服务器推送,服务器可以主动向客户端推送资源,而不仅仅是响应请求。
原始请求方法为 POST 时,重定向的请求将使用 GET 方法。...原始请求方法为 POST 时,重定向的请求将使用 GET 方法。...原始请求方法为 POST 时,重定向的请求将使用 GET 方法。...原始请求方法为 POST 时,重定向的请求还将使用 POST 方法。...原始请求方法为 POST 时,重定向的请求还将使用 POST 方法。
RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计 http请求方法 RESTful API 设计规范 关于「能愿动词」的使用 为了避免歧义,文档大量使用了「能愿动词」,对应的解释如下...针对每一个端点来说,下面列出所有可行的 HTTP 动词和端点的组合 用 URL 定位资源 请求方法 URL 描述 GET /zoos 列出所有的动物园(ID和名称,不要太详细) POST /zoos 新增一个新的动物园...对不会返回响应体的成功请求进行响应(比如 DELETE 请求) 3xx 重定向 40x 客户端错误 400 Bad Request 请求异常,比如请求中的body无法解析 401 Unauthorized...如通过手机号码提供注册功能的 API,当用户提交的手机号已存在时,必须 返回此状态码。 410 Gone 表示当前请求的资源已永久不存在。...] }, "status_code": 422 } 403错误码显示 HTTP/1.1 403 Forbidden Content-Type: application/json {
Python中的requests库是一个简单、易于使用的HTTP库,可以轻松地发送各种类型的HTTP请求。本文将介绍如何入门使用requests库,执行常见的HTTP请求操作。...如果成功,我们将响应内容解析为JSON格式,并遍历输出每个用户的名称。错误处理在实际开发中,我们经常需要处理HTTP请求可能遇到的异常情况,例如网络连接错误、请求超时等。 ...response.raise_for_status()方法可以抛出一个HTTP错误异常,如果请求成功,它不会抛出任何异常。...通过本文,我们了解了如何使用requests库在Python中发送HTTP请求,执行常见的操作,包括发送GET和POST请求,处理响应数据,以及错误处理。...总结通过本文,我们了解了如何使用requests库在Python中发送HTTP请求,执行常见的操作,包括发送GET和POST请求,处理响应数据,以及错误处理。
403 Forbidden 禁止访问。 404 Not Found 找不到如何与 URI 相匹配的资源。...授权失败 402——保留有效ChargeTo头响应 403——禁止访问,服务器收到请求,但是拒绝提供服务 HTTP 403.1 禁止访问:禁止可执行访问 HTTP 403.2...403.13- 禁止访问:客户证书已被吊销 HTTP 403.15- 禁止访问:客户访问许可过多 HTTP 403.16- 禁止访问:客户证书不可信或者无效 HTTP 403.17...5**(服务端错误类):服务器不能正确执行一个正确的请求 HTTP 500 - 服务器遇到错误,无法完成请求 HTTP500.100 - 内部服务器错误 - ASP 错误 HTTP...协议就按照 Web 方式来处理; (2)调用浏览器内核中的对应方法,比如 WebView 中的 loadUrl 方法; (3)通过DNS解析获取网址的IP地址,设置 UA 等信息发出第二个
HTTPS比HTTP更加安全,对搜索引擎更友好,利于SEO,谷歌、百度优先索引HTTPS网页。HTTPS标准端口443,HTTP标准端口80。HTTPS需要用到SSL证书,而HTTP不用。...,请求报文存在语法错误401 unauthorized,表示发送的请求需要有通过 HTTP 认证的认证信息403 forbidden,表示对请求资源的访问被服务器拒绝404 not found,表示在服务器上没有找到请求的资源...,通过直接由 js 脚本向服务器发起 http 通信,然后根据服务器返回的数据,更新网页的相应部分,而不用刷新整个页面的一种方法。...,接下来我们看下html解析器碰到样式表会发生的情况js会阻塞解析,因为它会修改文档(document)。...css不会修改文档的结构,如果这样的话,似乎看起来css样式不会阻塞浏览器html解析。但是事实上 css样式表是阻塞的。
从定义上看,HTTP 方法的幂等性是指一次和多次请求某一个资源应该具有同样的副作用。...幂等性属于语义范畴,正如编译器只能帮助检查语法错误一样,HTTP 规范也没有办法通过消息格式等语法手段来定义它,这可能是它不太受到重视的原因之一。...状态码都是三位的整数,大概分成了几个区间: 2XX:请求正常处理并返回 3XX:重定向,请求的资源位置发生变化 4XX:客户端发送的请求有错误 5XX:服务器端错误 在 HTTP API 设计中,经常用到的状态码以及它们的意义如下表...鉴于 PUT,DELETE 方法会对服务器上的资源进行写操作,因而绝大部分的网页服务器都不支持或者在默认配置下不允许上述请求方法,对于此类请求均会返回405错误。...对用户的请求限流之后,要有方法告诉用户它的请求使用情况,本文档推荐使用的三个相关的头部: X-RateLimit-Limit: 用户每个小时允许发送请求的最大值 X-RateLimit-Remaining