步伐员和IT人都应当
懂的知识
:HTTP入门图解
了解 Web 及网络基础
对端传输
发送端在层与层间传输数据时,没经过一层都会被加上首部信息,接收端每经过一层都会删除一条首部
多种协议感化
IP 协议,TCP 协议和 DNS 办事在使用 HTTP 协议进程中发挥的感化
简单的 HTTP 协议
哀求报文和相应报文
客户端像办事器提议哀求时会生成一段哀求报文,哀求报文是由哀求办法,URL,协议版本,可选的哀求首部字段和内容实体构成。
哀求报文
接收到哀求的办事器,会将哀求内容的处理处罚布局以相应的形式返回。相应报文根本上由协议版本,状况码,用以解释状况的缘故原由短语,可选的相应首部字段以及实体主体构成。
相应报文
HTTP 是不生计状况的协议和 Cookie 的简单先容
HTTP 协议对于发送的哀乞降相应不做长期化处理处罚。这时间引入了 Cookie 技巧用于状况管理。Cookie 对用与登录的状况管理,没有 Cookie 这个技巧的话,因为 HTTP 不生计状况,每次打开新网页都必须再次登录。
Cookie 会根据相应报文中的 Set-Cookie 字段来通知客户端自动生计 Cookie。下次哀求时会自动发送 Cookie,办事器会比对数据获得状况结果。
先引入副感化和幂等的概念。
副感化指对办事器上的资本做转变,搜索是无副感化的,注册是副感化的。
幂等指发送 M 和 N 次哀求(两者不雷同且都年夜于1),办事器上资本的状况同等。注册10个和11个帐号是不幂等的,对文章进行更改10次和11次是幂等的。
在规范的应用处景上说,Get 多用于无副感化,幂等的场景,例如搜索关键字。Post 多用于副感化,不幂等的场景,例如注册。
在技巧上说:
- Get 哀求能缓存,Post 不克不及
- Post 相对 Get 平安一点点,因为Get 哀求都包含在 URL 里,且会被浏览器生计历史记录,Post 不会,然则在抓包的情况下都是一样的。
- Post 可以经由进程 request body来传输比 Get 更多的数据,Get 没有这个技巧
- URL有长度限定,会影响 Get 哀求,然则这个长度限定是浏览器划定的,不是 RFC 划定的
- Post 支持更多的编码类型且纰谬数据类型限定
常见状况码
常见状况码
2XX 成功
- 200 OK,表现从客户端发来的哀求在办事器端被精确处理处罚
- 204 No content,表现哀求成功,但相应报文不含实体的主体部分
- 206 Partial Content,进行规模哀求
3XX 重定向
- 301 moved permanently,永久性重定向,表现资本已被分配了新的 URL
- 302 found,暂时性重定向,表现资本暂时被分配了新的 URL
- 303 see other,表现资本存在着另一个 URL,应使用 GET 办法丁喷鼻获取资本
- 304 not modified,表现办事器允许拜访资本,但因发生哀求未满足条件的情况
- 307 temporary redirect,暂时重定向,和302寄义雷同
4XX 客户端错误
- 400 bad request,哀求报文存在语法错误
- 401 unauthorized,表现发送的哀求需要有经由进程 HTTP 认证的认证信息
- 403 forbidden,表现对哀求资本的拜访被办事器拒绝
- 404 not found,表现在办事器上没有找到哀求的资本
5XX 办事器错误
- 500 internal sever error,表现办事器端在实行哀求时发生了错误
- 503 service unavailable,表明办事器暂时处于超负载或正在停机掩护,无法处理处罚哀求
HTTP 首部
通用首部
指哀求报文和相应报文都可以使用的字段
- Cache-Control no-cache 指客户端不缓存逾期资本 no-store 指不进行缓存 max-age 指缓存资本的缓存时间比指定的值小,那么客户端就担当缓存资本,且缓存办事器纰谬资本有用性进行再次确认
- Connection 控告制不再转发给署理的首部字段(Hop-by-hop),管理长期毗连 close 指办事器像明白断开毗连 Keep-Alive 指生计长期毗连,HTTP/1.1前默认毗连是非长期性的,如需要生计长期毗连,需要增长此字段
- Upgrade 可以用来指定一个完整不同的通信协议,对于这个字段,办事器可以返回101状况码
哀求首部字段
- Accept 指用户署理能够处理处罚的媒体类型及媒体类型的相对优先级
- Accept-Encoding 指用来告知办事器用户署理支持的内容编码及内容编码的优先级次序
- Authorization 指用来告知办事器,用户署理的认证信息
- Host 当一个 IP 下存在多个域名时,资助办事器知道要哀求的详细主机
- User-Agent 会讲创立哀求的浏览器和用户署理名称等信息转达给办事器
HTTPS
HTTPS 是 HTTP 创建在 SSL/TLS 平安协议上的。
在 iOS 中,客户端当地会存放着 CA 证书,在HTTPS 哀求时,会首先像办事器索要公钥,获得公钥后会使用当地 CA 证书验证公钥的精确性,然后经由进程精确的公钥加密信息发送给办事器,办事器会使用私钥解密信息。
SSL/TLS握手阶段分为五步:以下引自 阮一峰的网络日志第一步,爱丽丝给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密办法。第二步,鲍勃确认双方使用的加密办法,并给出数字证书、以及一个办事器生成的随机数(Server random)。第三步,爱丽丝确认数字证书有用,然后生成一个新的随机数(Premaster secret),并使用数字证书中的公钥,加密这个随机数,发给鲍勃。第四步,鲍勃使用自己的私钥,获取爱丽丝发来的随机数(即Premaster secret)。第五步,爱丽丝和鲍勃根据商定的加密办法,使用前面的三个随机数,生成"对话密钥"(session key),用来加密接下来的全部对话进程。
HTTPS 相对于 HTTP 性能上差点,因为多了 SSL/TLS 的反复握手和加密解密的运算处理处罚,然则加密解密的运算处理处罚已经可以经由进程特有的硬件来加快处理处罚。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|
|
|
|
刘恩玲
显示全部楼层
发表于 2025-5-17 15:05
|
|
|
|
一眼缘
显示全部楼层
发表于 2025-5-17 15:20
|
|
|
|
愚老大
显示全部楼层
发表于 2025-5-17 15:25
|
|
|
|
椰林风
显示全部楼层
发表于 2025-5-17 15:36
|
|
|
|
林坚炜
显示全部楼层
发表于 2025-5-17 15:44
|
|
|
|
小关刀
显示全部楼层
发表于 2025-5-17 15:50
|
|
|
|
中访网财经
显示全部楼层
发表于 2025-5-17 16:00
|
|
|
|
一眼缘
显示全部楼层
发表于 2025-5-17 16:12
|
|
|
|
改革政策需稳定
显示全部楼层
发表于 2025-5-17 16:22
|
|
|
|