深入学习HTTP请求
约 1586 字大约 5 分钟
2025-12-24
深入学习HTTP请求.md
常用的HTTP方法有(可以在某个软件上直接看到吗?):
- GET:请求从服务器获取指定资源,请求数据而不对其进行修改。如从服务器获取网页,图片
- POST:向服务器发送数据以创建新资源。常用于提交表单数据或上传文件。发送的数据包含在请求体中
- PUT:请求服务器存储一个资源,并用请求体中的内容替换目标资源的所有内容
- DELETE:请求服务器删除指定的资源
- HEAD:与 GET 类似,但不获取资源的内容,只获取响应头信息
- PATCH:对资源进行部分修改,于PUT类似,但PATCH只更改部分数据而不是直接替换全部资源
- OPTIONS:返回服务器支持的HTTP方法,常用于检查服务器支持哪些请求方法
- TRACE:回显服务器收到的请求,用于诊断。客户端可以查看请求再服务器中的处理路径
- CONNECT:建立一个到服务器的隧道,常用于HTTPS连接,客户端可以通过隧道发送加密后的数据
HTTP 状态码(HTTP Status Code)
当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含 HTTP 状态码的信息头(server header)用以响应浏览器的请求。
HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 (500–599):
状态码分为五类:
- 1xx(信息性状态码):表示接收的请求正在处理。
- 2xx(成功状态码):表示请求正常处理完毕。
- 3xx(重定向状态码):需要后续操作才能完成这一请求。
- 4xx(客户端错误状态码):表示请求包含语法错误或无法完成。
- 5xx(服务器错误状态码):服务器在处理请求的过程中发生了错误。
常见的状态码分析: (1)304:告诉客户端,自上一次请求以来,请求的资源没有发生变化,用户可以使用本地缓存的数据,不需要重复申请 (2)404:服务器找不到请求的资源,可能是用户请求的格式错了,也可能是网站把原有的资源删除了 (3)403:服务器的确有该资源,但是用户没有相应的权限使用
基础介绍
HTTP(超文本传输协议,Hypertext Transfer Protocol)是一种用于从网络传输超文本到本地浏览器的传输协议。它定义了客户端与服务器之间请求和响应的格式。HTTP 工作在 TCP/IP 模型之上,通常使用端口 80。
HTTP协议要注意三个点:
- 1.http协议是非持久连接,每次连接只能处理一个请求,下次请求要重新再创建连接
- 2.http协议是无状态协议,无状态协议的意思是,协议对事务的处理没有记忆功能,如果后面的请求需要用到前面的信息,那它将不得不进行重传操作
- 3.HTTP 是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送
HTTPS(超文本传输安全协议,Hypertext Transfer Protocol Secure)是 HTTP 的安全版本,它在 HTTP 下增加了 SSL/TLS 协议,提供了数据加密、完整性校验和身份验证。HTTPS 通常使用端口 443。 [SSL是TLS的前身,目前大部分的网站都是支持TLS协议]
加密的方法
- 对称加密:通信双方使用相同的解码和译码手段,缺点是外界要是明白这套流程那就没有秘密可言
- 非对称加密:使用二个密钥来进行加密:公钥和私钥。公钥大家都知道,私钥却只有自己清楚。通信的时候使用公钥+私钥组合的方式来进行加密,窃听者获得了结果,却没办法通过结果来反推私钥。 example(TLS):
工作原理: 1.服务端具有私钥和公钥,并把公钥广播告诉全部客户 2.客户使用公钥对信息进行加密,加密后的数据反而无法使用公钥打开?一定要使用服务端的私钥打开 原因是这样的:公钥和私钥成对存在,由某一个数学关系形成。公钥只能用来加密,而私钥只能用来解密
https如何实现加密的
HTTPS 的信任基于预先安装在操作系统中的证书颁发机构(CA)。 注:[可以在浏览器地址栏点击连接,来查看某个网站的CA证书] 因此,与一个网站之间的 HTTPS 连线仅在这些情况下可被信任:
浏览器正确地实现了 HTTPS 且操作系统中安装了正确且受信任的证书颁发机构; 证书颁发机构仅信任合法的网站; 被访问的网站提供了一个有效的证书,也就是说它是一个由操作系统信任的证书颁发机构签发的(大部分浏览器会对无效的证书发出警告); 该证书正确地验证了被访问的网站(例如,访问 https://www.runoob.com 时收到了签发给 www.runoob.com 而不是其它域名的证书); 此协议的加密层(SSL/TLS)能够有效地提供认证和高强度的加密。 Google Chrome、Internet Explorer 和 Firefox 等浏览器在网站含有由加密和未加密内容组成的混合内容时,会发出警告。
常用的Web端服务器科普
- Nginx---适用于静态内容服务和高流量网站
- Apache---适用于动态内容和中小型网站
- IIS---适用于Windows环境,企业内网
