HTTP响应详解, HTTP请求构造及HTTPS详解

2023-11-19

 HTTP响应详解

认识 "状态码" (status code)

状态码表示访问一个页面的结果 . ( 是访问成功 , 还是失败 , 还是其他的一些情况 ...).
以下为常见的状态码 .
200    OK  这  是一个最常见的状态码, 表示访问成功 .
抓包抓到的大部分结果都是 200   
例如访问搜狗主页
注意 : 在抓包观察响应数据的时候 , 可能会看到压缩之后的数据 , 形如:

200 成功

404 访问资源不存在

403 访问的资源没有权限

表示访问被拒绝. 有的页面通常需要用户具有一定的权限才能访问(登陆后才能访问). 如果用户没有登陆

直接访问, 就容易见到 403.

502 服务器挂了

504 服务器超时

当服务器负载比较大的时候, 服务器处理单条请求的时候消耗的时间就会很长, 就可能会导致出现超时的情况.

这种情况在双十一等 "秒杀" 场景中容易出现, 平时不太容易见到.

302 重定向(浏览器会自动跳转到其他页面)

在登陆页面中经常会见到 302. 用于实现登陆成功后自动跳转到主页.

响应报文的 header 部分会包含一个 Location 字段 , 表示要跳转到哪个页面

理解 "重定向"
就相当于手机号码中的 "呼叫转移" 功能.
比如我本来的手机号是 186-1234-5678, 后来换了个新号码 135-1234-5678, 那么不需要让我的朋友知道新号码,只要我去办理一个呼叫转移业务, 其他人拨打 186-1234-5678 , 就会自动转移到 135-1234-5678上. 

面试常考介绍你所了解的"状态码"

认识响应 "报头" (header)

响应报头的基本格式和请求报头的格式基本一致 .
类似于 Content - Type , Content - Length 等属性的含义也和请求中的含义一致 .
Content-Type
响应中的 Content-Type 常见取值有以下几种 :
  • text/html : body 数据格式是 HTML
  • text/css : body 数据格式是 CSS
  • application/javascript : body 数据格式是 JavaScript
  • application/json : body 数据格式是 JSON

认识响应 "正文" (body)

正文的具体格式取决于 Content-Type. 观察上面几个抓包结果中的响应部分 .
1) text/html
2) text/css
3) application/javascript
4) application/json

通过 form 表单构造 HTTP 请求

form ( 表单 ) HTML 中的一个常用标签 . 可以用于给服务器发送 GET 或者 POST 请求 .
不要把 form 拼写成 from!!

form 发送 GET 请求

form 的重要参数 :
  • action: 构造的 HTTP 请求的 URL 是什么.
  • method: 构造的 HTTP 请求的 方法 是 GET 还是 POST (form 只支持 GET POST).
input 的重要参数 :
  • type: 表示输入框的类型. text 表示文本, password 表示密码, submit 表示提交按钮.
  • name: 表示构造出的 HTTP 请求的 query string key. query string value 就是输入框的用户输入的内容.
  • value: input 标签的值. 对于 type submit 类型来说, value 就对应了按钮上显示的文本.

对于开始标签来说, 可以写一些"属性"(键值对)
action 属性, 描述了构造的HTTP请求 url是什么等等

<form action="http://abcdef.com/myPath" method="GET">
    <input type="text" name="userId">
    <input type="text" name="classId">
    <input type="submit" value="提交">
</form>

  

页面展示效果:  在输入框随便填写数据, 点击"提交", 此时就会构造出HTTP请求并发送出去

蓝色部分就是发送的请求 ,获得搜狗响应结果

详细看请求内容 

 对应内容:

  • form action 属性对应 HTTP 请求的 URL
  • form method 属性对应 HTTP 请求的方法
  • input name 属性对应 query string key
  • input 的 内容 对应 query string value

form 发送 POST 请求

修改上面的代码 , form method 修改为 POST
<form action="http://abcdef.com/myPath" method="POST">
    <input type="text" name="userId">
    <input type="text" name="classId">
    <input type="submit" value="提交">
</form>
主要的区别 :
  • method GET 变成了 POST
  • 数据从 query string 移动到了 body

 form表单只支持get, post两种方法

通过 ajax 构造 HTTP 请求  

现在更经常通过Ajax方式构造

从前端角度, 除了浏览器地址栏能构造 GET 请求, form 表单能构造 GET 和 POST 之外, 还可以通过 ajax 的方式来构造 HTTP 请求. 并且功能更强大.
ajax 全称 Asynchronous(异步) Javascript And XML, 是 2005 年提出的一种 JavaScript 给服务器发送 HTTP 请求的方式. 
特点是可以不需要 刷新页面/页面跳转 就能进行数据传输.
在 JavaScript 中可以通过 ajax 的方式构造 HTTP 请求

Ajax是一种异步的通信方式, 通过代码, 发出了http请求, 请求发出去了之后, js代码就继续往下执行了, 当服务器的响应回来了之后, 就会自动的通知到咱们代码中, 进一步就能处理响应了 

同步通信则不会继续往下执行

 

发送 GET 请求

 

和form方法的区别 

发送 Post 请求

创建 test.html, <script> 标签中编写以下代码 .

POSTMAN发送请求 

 

HTTPS

HTTPS 是什么

HTTPS 也是一个应用层协议 . 是在 HTTP 协议的基础上引入了一个加密层 .
HTTP 协议内容都是按照文本的方式明文传输的 . 这就导致在传输过程中出现一些被篡改的情况 .
臭名昭著的 " 运营商劫持 "
下载一个 天天动听
未被劫持的效果 , 点击下载按钮 , 就会弹出天天动听的下载链接

 

已被劫持的效果, 点击下载按钮, 就会弹出 QQ 浏览器的下载链接

点击 " 下载按钮 ", 其实就是在给服务器发送了一个 HTTP 请求 , 获取到的 HTTP 响应其实就包含了该 APP 的下载链接. 运营商劫持之后 , 就发现这个请求是要下载天天动听 , 那么就自动的把交给用户的响应给篡改成 "QQ 浏览器" 的下载地址了   
不止运营商可以劫持, 其他的 黑客 也可以用类似的手段进行劫持, 来窃取用户隐私信息, 或者篡改内容.
试想一下, 如果黑客在用户登陆支付宝的时候获取到用户账户余额, 甚至获取到用户的支付密码.....
在互联网上, 明文传输是比较危险的事情!!!
HTTPS 就是在 HTTP 的基础上进行了加密, 进一步的来保证用户的信息安全~

HTTPS 的工作过程

既然要保证数据安全 , 就需要进行 " 加密 ".
网络传输中不再直接传输明文了 , 而是加密之后的 " 密文 ".
加密的方式有很多 , 但是整体可以分成两大类 : 对称加密 非对称加密

引入对称加密

对称加密其实就是通过同一个 " 密钥 " , 把明文加密成密文 , 并且也能把密文解密成明文 .
一个简单的对称加密, 按位异或
假设 明文 a = 1234, 密钥 key = 8888
则加密 a ^ key 得到的密文 b 为 9834.
然后针对密文 9834 再次进行运算 b ^ key, 得到的就是原来的明文 1234.
(对于字符串的对称加密也是同理, 每一个字符都可以表示成一个数字)
当然, 按位异或只是最简单的对称加密. HTTPS 中并不是使用按位异或

  最简单保证安全的做法, 引入对称密钥, 针对出传输的数据(HTTP的header和body)进行加密

 

每个人用的秘钥都必须是不同的( 如果是相同那密钥就太容易扩散了 , 黑客就也能拿到了 ). 因此服务器就需要维护每个客户端和每个密钥之间的关联关系,
比较理想的做法 , 就是能在客户端和服务器建立连接的时候 , 双方 协商 确定这次的密钥是啥 
但是如果直接把密钥明文传输 , 那么黑客也就能获得密钥了 ~~ 此时后续的加密操作就形同虚设了 .
因此密钥的传输也必须加密传输 !
但是要想对密钥进行对称加密 , 就仍然需要先协商确定一个 " 密钥的密钥 ". 这就成了 " 先有鸡还是先有蛋 " 的问题了. 此时密钥的传输再用对称加密就行不通了 .
就需要引入 非对称加密

引入非对称加密

非对称加密要用到两个密钥 , 一个叫做 " 公钥 ", 一个叫做 " 私钥 ".
公钥和私钥是配对的 . 最大的缺点就是 运算速度非常慢,比对称加密要慢很多.
因此我们这里使用的非对称加密只是针对于加密明文的密钥
  • 对称密钥 加密 明文
  • 非对称密钥 加密 对称密钥
我们把公钥想向成保险柜, 私钥想象成钥匙
  • 当我们客户端和服务器建立连接时, 服务器将保险柜(公钥)传递给客户端, (钥匙)私钥则保留在服务器
  • 客户端在本地生成对称密钥, 加对称密钥放入保险柜(用公钥加密)中, 之后发送给服务端
  • 因为保险柜的钥匙(私钥)始终保留在服务端手中, 所以经过公钥加密过的数据(对称密钥)完全不怕被截获
  • 服务端用私钥解密被公钥加密过的对称密钥之后, 服务器和客户端都有了对称密文, 并且没有被半路劫持(锁在保险柜中)
  • 明文被对称密钥加密成密文, 后续通信直接发送密文就可以了

那么问题又来了:

  • 客户端如何获取到公钥?
  • 客户端如何确定这个公钥不是黑客伪造的?

引入证书

在客户端和服务器刚一建立连接的时候 , 服务器给客户端返回一个 证书 .
这个证书包含了刚才的公钥 , 也包含了网站的身份信息 .
这个证书就好比人的身份证, 作为这个网站的身份标识. 搭建一个 HTTPS 网站要在CA机构先申请一 个证书. (类似于去公安局办个身份证).

解决中间人攻击的关键,  需要让客户端能够确认当前收到的公钥, 确实是服务器返回的, 而不是黑客伪造的

于是引入证书机制

需要一个第三方的认证机构, 通过第三方机构作保, 确保当前的公钥是有效的

客户端在尝试和服务器建立连接的时候, 服务器会向第三方公证机构申请一个证书,

证书包含很多属性 : 比如网站的域名, 证书过期时间, 还有数字签名

数字签名即对整个证书的数据计算hash值, 得到的结果具有唯一性, 若是证书数据发生变动(被黑客修改)就会导致计算出的hash值不同

上边我们讲过服务器会生成一个非对称密钥用于加密对称密钥(对称密钥加密明文), 因此需要把服务器公钥传递给客户端,  而传递的方法就是将服务端公钥放入证书中.

   因此我们在申请到证书之后, 还会向其中加入服务器生成的公钥, 当然 随后数字签名对应修改

最终得到完整的证书

但是我们发现, 若是黑客将证书中的公钥修改, 再修改证书的数字签名, 同样会发生劫持情况.

所以数字签名不能传输明文

为了避免这一情况, 每个第三方公证机构会有一个单独的公钥, 私钥,

  • 机构私钥 : 第三方公证机构在向服务器发送证书时, 还会发送一个公证机构私钥
  • 机构公钥 : 不通过网络传递, 直接系统内置, 如Windows系统会内置各种知名机构的公钥

那么有了私钥, 公钥之后能干什么呢?

服务器使用收到的机构私钥  加密  证书中的数字签名

然后客户端通过操作系统里已经存的了的证书发布机构的公钥进行解密, 还原出原始的数字签名明文, 再进行校验.
那如何校验呢? 
解析出来的数字签名作为哈希值1, 这个肯定是服务端发送的正确签名, 我们只需要在按照服务器计算数字签名的方法再计算一次数字签名作为哈希值2, 两者比较 若相等就是未被修改过的证书
注意: 虽然黑客能获得CA认证机构的公钥, 能够解析出数字签名, 但黑客没有机构私钥, 改完之后没法重新加密, 客户端可以直接发现
完整流程
左侧都是客户端做的事情 , 右侧都是服务器做的事情

 总结

HTTPS 工作过程中涉及到的密钥有三组

第一组 ( 非对称加密 ) : 用于校验证书是否被篡改 . 服务器持有私钥 ( 私钥在注册证书时获得 ), 客户端持有公钥( 操作系统包含了可信任的 CA 认证机构有哪些 , 同时持有对应的公钥 ). 服务器使用这个私钥对证书的签名进行加密. 客户端通过这个公钥解密获取到证书的签名 , 从而校验证书内容是否是篡改过 .
第二组 ( 非对称加密 ): 用于协商生成对称加密的密钥 . 服务器生成这组 私钥 - 公钥 对 , 然后通过证书把公钥传递给客户端. 然后客户端用这个公钥给生成的对称加密的密钥加密 , 传输给服务器 , 服务器通过私钥解密获取到对称加密密钥.
第三组 ( 对称加密 ): 客户端和服务器后续传输的数据都通过这个对称密钥加密解密 .

其实一切的关键都是围绕这个对称加密的密钥 . 其他的机制都是辅助这个密钥工作的 .
  • 第二组非对称加密的密钥是为了让客户端把这个对称密钥传给服务器.
  • 第一组非对称加密的密钥是为了让客户端拿到第二组非对称加密的公钥
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTTP响应详解, HTTP请求构造及HTTPS详解 的相关文章

  • AWS ALB 截断 HTTP 响应

    我有一个带有目标组的 ALB 和运行 PHP API 的 ECS 集群 我正在尝试查询 API 以获得 CSV 响应 但如果请求通过 ALB 我会得到被截断的结果 当我通过 SSH 连接到运行集群的 EC2 实例并尝试手动运行curl 通过
  • C# - 如何进行 HTTP 调用

    我想对网站进行 HTTP 调用 我只需要点击 URL 不想上传或下载任何数据 最简单 最快的方法是什么 我尝试了下面的代码 但它很慢 并且在第二次重复请求后 它只是超时 59 秒 然后恢复 WebRequest webRequest Web
  • PHP 是否有与 Java 的 RequestDispatcher.forward 等效的功能?

    在 Java 中我可以编写一个非常基本的 JSPindex jsp像这样 这样做的效果是用户请求index jsp 或者只是包含目录 假设index jsp是目录的默认文档 将会看到home action没有浏览器重定向 即 forward
  • 为什么使用HTTP协议时需要指定端口号?

    即使我们使用HTTP协议 为什么还需要用IP地址指定端口号 例如 http xyz 8080 这到底是什么意思 我们已经知道 在使用 HTTP 时 请求将在端口 80 上提供服务 那么为什么我们要显式指定端口呢 HTTP 的默认端口为 80
  • asp.net core http 如果没有内容类型标头,则删除 `FromBody` 忽略

    我在 http 中使用 bodyDELETE要求 我知道目前删除主体是非标准的 但是允许的 使用时出现问题HttpClient它不允许删除请求的正文 我知道我可以使用SendAsync 但我宁愿让我的 API 更加灵活 我希望这个机构是可选
  • 除了 GET 和 POST 之外,如何从浏览器向 RESTful 应用程序发送任何内容?

    我没有得到 RESTful 的东西 是的 我知道如何从浏览器向我的应用程序发送 GET 请求 这是通过 URL 链接 a href user someone 并且还可以通过form方法发送POST请求 a
  • 通过 HTTPS 加载页面但请求不安全的 XMLHttpRequest 端点

    我有一个页面 上面有一些 D3 javascript 该页面位于 HTTPS 网站内 但证书是自签名的 当我加载页面时 我的 D3 可视化效果不显示 并且出现错误 混合内容 页面位于 https integration jsite com
  • 如何解析 Content-Disposition 标头以检索文件名属性?

    使用 go 如何解析从 http HEAD 请求检索到的 Content Disposition 标头以获取文件的文件名 此外 如何从 http HEAD 响应中检索标头本身 这样的事情正确吗 resp err http Head http
  • 如何增加asp classic的请求接受限制

    我从java小程序向asp classic发送post请求 我在此请求中发送非常大的数据 即 csv 数据 当此请求中的字符数增加并超过 138000 时 asp 不接受该请求 java 小程序给出 500 错误 所以有人可以告诉我如何才能
  • 防止 ASP.Net 中的表单重新提交(不重定向到我自己)

    我有一个带有表单元素的母版页
  • Chrome 开发工具无法显示响应,即使返回的内容具有标题 Content-Type:text/html;字符集=UTF-8

    为什么我的 Chrome 开发者工具显示 无法显示响应数据 当返回的内容是text html类型时响应 在开发者工具中查看返回的响应的替代方法是什么 我认为只有当您选中 保留日志 并且您在导航离开后尝试查看先前请求的响应数据时 才会发生这种
  • HttpWebRequest vs Webclient(特殊场景)

    我知道这个问题之前已经回答过thread https stackoverflow com questions 1694388 webclient vs httpwebrequest httpwebresponse 但我似乎找不到详细信息 在
  • 面向服务的架构 - AMQP 或 HTTP

    一点背景 非常大的整体 Django 应用程序 所有组件都使用相同的数据库 我们需要分离服务 以便我们可以独立升级系统的某些部分而不影响其余部分 我们使用 RabbitMQ 作为 Celery 的代理 现在我们有两个选择 使用 REST 接
  • $http.get() 与 JSON 数据

    我正在编写一个服务器应用程序 并希望客户端使用正文中的数据来参数化我的 GET 方法 如下所示 http v GET http localhost 3000 url text 123 foo bar GET url HTTP 1 1 Acc
  • 如何使用 python 的 http.client 准确读取一个响应块?

    Using http client在 Python 3 3 或任何其他内置 python HTTP 客户端库 中 如何一次读取一个分块 HTTP 响应一个 HTTP 块 我正在扩展现有的测试装置 使用 python 编写 http clie
  • 用 C++ 解析 HTTP 标头

    我正在使用curl 与服务器通信 当我发出数据请求时 我收到 HTTP 标头 后跟由边界分隔的 jpeg 数据 如下所示 我需要解析出 边界字符串 内容长度 我已将传入数据复制到 char 数组 如下所示 static size t OnR
  • 使用 Unity 在 C# 中发送 http 请求

    如何使用 Unity 在 C 中发送 HTTP GET 和 POST 请求 我想要的是 在post请求中发送json数据 我使用Unity序列化器 所以不需要 新的 我只想在发布数据中传递一个字符串并且能够 将 ContentType 设置
  • 使用 python requests 模块时出现 HTTP 503 错误

    我正在尝试发出 HTTP 请求 但当前可以从 Firefox 浏览器访问的网站响应 503 错误 代码本身非常简单 在网上搜索一番后我添加了user Agent请求参数 但也没有帮助 有人能解释一下如何消除这个 503 错误吗 顺便说一句
  • put方法中的Angularjs文件上传不起作用

    我有一个简单的待办事项应用程序 我试图在其中上传照片和单个待办事项 现在我已经创建了这个工厂函数来负责待办事项的创建 todosFactory insertTodo function todo return http post baseUr
  • 使用 file_get_content 发布数据

    我已经做了一些关于如何使用的研究file get content与帖子 我也读过this one https stackoverflow com questions 2445276 how to post data in php using

随机推荐

  • kafka 监控工具--CMAK

    CMAK previously known as Kafka Manager is a tool for managing Apache Kafka clusters See below for details about the name
  • 二分法总结(超级详细)附带图解

    文章目录 1 二分法 2 时间复杂度 3 二分法的套路 3 1 整数的二分 3 2 实数的划分 四 相关习题 4 1 数的范围 4 2 数的三次方根 1 二分法 二分查找是一个时间效率极高的算法 尤其是面对大量的数据时 其查找效率是极高 时
  • python读取npy文件时,太大不能完全显示,其解决方法

    python读取npy文件时 太大不能完全显示 其解决方法 当用python读取npy文件时 会遇到npy文件太大 用print函数打印时不能完全显示 如以下情况 其解决办法是 添加一行代码 np set printoptions thre
  • 2023汽车行业数字化转型报告

    目前 汽车行业正经历百年未有之大变局 在新一轮科技革命以及减碳 能源形势变革智能化变革推动下 汽车产业正由功能时代向智能时代演进 由 以车为中心 向 以用户为中心 转变 汽车的产品属性 产业价值链和生态结构都面临被颠覆 新的汽车市场格局正在
  • Python爬虫从入门到精通:(33)scrapy中间件_Python涛哥

    中间件 作用 批量拦截请求和响应 爬虫中间件 下载中间件 推荐 拦截请求 篡改请求url 伪装请求头信息 UA Cookie 设置代理 重点 拦截响应 篡改响应数据 详解 我们创建个工程middlePro 爬取百度和搜狗 import sc
  • goto编程练习

    for 的初始化要放到JUMP上边 不然i会一直为1 for 的i 也不能放到括号里边 不然i永远为0 1 include
  • 200smart第二课基本编程

    一 程序块 主程序main和子程序 主程序是执行程序的入口 没有主程序就不知道程序从哪里开始 子程序是一个大型程序中的某个代码 一般是完成某个算法 二 符号表 给变量定义 当我们在编程的时候 需要定义一些符号名称 如下图 程序运行 注释使程
  • MFC重载鼠标停留WM_MOUSEHOVER和离开WM_MOUSELEAVE消息

    1 重载OnMouseMove 消息 在消息的实现中添加代码 void CMainWindow OnMouseMove UINT nFlags CPoint point TRACKMOUSEEVENT tme tme cbSize size
  • 爬虫与反爬虫技术简介

    互联网的大数据时代的来临 网络爬虫也成了互联网中一个重要行业 它是一种自动获取网页数据信息的爬虫程序 是网站搜索引擎的重要组成部分 通过爬虫 可以获取自己想要的相关数据信息 让爬虫协助自己的工作 进而降低成本 提高业务成功率和提高业务效率
  • @JSONField 解决json字符串转对象,对象属性名与json中key不一致,如何接收数据问题

    背景 我有个对象 过来个json 想用这个对象接收json中的值 对象中属性名与json中key值不一致 实现 这个时候 JSONField注解就派上用场了 不能直接放在属性上 要放在set方法上 模拟 1 搞个对象 属性名分别为name
  • 【靶场】upload-labs Pass-02

    考纲 本pass在服务端对数据包的MIME进行检查 在右上角点击 查看提示 中看到 一 上一关 靶场 upload labs Pass 01 二 大马 介绍两款 php 大马 因为 一句话木马看不上 如果师傅有其他好用的 大马 还望师傅在评
  • QT添加qss文件和资源文件

    先右键项目 选择 Add New 选择一个模板 选择 Qt 模板 再选择 Qt Resource Files 点击 Choose 填上资源文件的名称 默认添加项目路径下 后面的步骤默认即可 点击完成 新建完成了资源文件后 默认会进入 res
  • 运放稳定性连载21:电容性负载的稳定性——具有双通道反馈的RISO(2)

    现在 我们必须测量如图10 6所示的Zo 小信号AC开环输出阻抗 该Tina SPICE测试电路将测试空载OPA177的Zo R2和R1以及LT为低通滤波器函数提供了一条AC通道 这样 使得我们能将DC短路和AC开路一起并入反馈电路 DC工
  • ssh报错no key alg(关于低版本连接高版本ssh)

    高版本 8 4 低版本 4 3 按照网上的方法试过 通过ssh keygen命令重新生成ssh主机秘钥 可以不用重启sshd服务 ssh keygen t rsa f etc ssh ssh host rsa key ssh keygen
  • NoReverseMatch: Reverse for ‘data‘ not found . ‘data‘ is not a valid view function or pattern

    Django gt python manage py runserver时报错 NoReverseMatch Reverse for data not found data is not a valid view func tion or
  • 制作一辆“自动驾驶”平衡自行车需要用到哪些知识

    目录 先看下小车效果 小车电路设计 相关软件工具 keil C语言设计编码调试工具 主要 mcuisp 代码烧录工具 一般使用一种烧录工具就可以 STM32 STlink stlink烧录工具 STM32 Cube pro 烧录工具 ope
  • C++中的虚函数(表)实现机制以及用C语言对其进行的模拟实现

    本文是转载的 正版是https blog twofei com 496 欢迎去看正版 C 中的虚函数 表 实现机制以及用C语言对其进行的模拟实现 前言 大家都应该知道C 的精髓是虚函数吧 虚函数带来的好处就是 可以定义一个基类的指针 其指向
  • OceanBase使用范例

    http www mysqlops com 2011 08 31 oceanbase use html OceanBase的使用类似于关系型数据库 需要预先创建schema 关于schema的格式 请参见schema说明 假如我们有以下sc
  • c#Socket 异步通讯(客户端与服务端)

    c Socket 异步通讯 多个客户端与服务端 最近公司有个项目 涉及到的通讯对象有点多 就拿其中一个库的通讯来说就用到了3个PLC 这里就涉及了一个服务器与多个客户端之间的通讯了 同时上位机既需要做客户端 也需要做服务端 因为跟PLC之间
  • HTTP响应详解, HTTP请求构造及HTTPS详解

    HTTP响应详解 认识 状态码 status code 状态码表示访问一个页面的结果 是访问成功 还是失败 还是其他的一些情况 以下为常见的状态码 200 OK 这 是一个最常见的状态码 表示访问成功 抓包抓到的大部分结果都是 200 例如