http读书笔记

持久化

HTTP/1.1 和一部分的 HTTP/1.0 想出了
持久连接(HTTP Persistent Connections, 也称为 HTTP keep-alive 或
HTTP connection reuse) 的方法。 持久连接的特点是, 只要任意一端
没有明确提出断开连接, 则保持 TCP 连接状态。
在这里插入图片描述
在 HTTP/1.1 中, 所有的连接默认都是持久连接, 但在 HTTP/1.0 内并
未标准化。 虽然有一部分服务器通过非标准的手段实现了持久连接,
但服务器端不一定能够支持持久连接。 毫无疑问, 除了服务器端, 客
户端也需要支持持久连接。

管线化

持久连接使得多数请求以管线化(pipelining) 方式发送成为可能。 从
前发送请求后需等待并收到响应, 才能发送下一个请求。 管线化技术
出现后, 不用等待响应亦可直接发送下一个请求。
这样就能够做到同时并行发送多个请求, 而不需要一个接一个地等待
响应了。
在这里插入图片描述

比如, 当请求一个包含 10 张图片的 HTML Web 页面, 与挨个连接相
比, 用持久连接可以让请求更快结束。 而管线化技术则比持久连接还
要快。 请求数越多, 时间差就越明显。

MIME

常用状态码

2XX 成功

200 OK正常处理
204 No Content请求处理成功,但没有资源可返回
206 Partial Content成功执行了范围请求

3XX 重定向

301 Moved Permanently资源的URI已永久定位到其他位置
302 Found资源的URI已临时定位到其他位置
303 See Other资源的URI已定位到其他位置,应使用GET方法定向获取请求的资源
304 Not Modified表示客户端发送附带条件的请求时,服务器端允许请求访问资源,但未满足条件的情况(附带条件的请求是指采用 GET方法的请求报文中包含 If-Match, If-ModifiedSince, If-None-Match, If-Range, If-Unmodified-Since 中任一首部)
307 Temporary Redirect临时重定向

4XX 客户端错误

400 Bad Request该状态码表示请求报文中存在语法错误。
401 Unauthorized该状态码表示发送的请求需要有通过 HTTP 认证的认证信息。
403 Forbidden该状态码表明对请求资源的访问被服务器拒绝了。
404 Not Found该状态码表明服务器上无法找到请求的资源。

5XX服务器错误

500 Internal Server Error该状态码表明服务器端在执行请求时发生了错误。
503 Service Unavailable该状态码表明服务器暂时处于超负载或正在进行停机维护, 现在无法处理请求。
403 Forbidden该状态码表明对请求资源的访问被服务器拒绝了。
404 Not Found该状态码表明服务器上无法找到请求的资源。

Web 服务器

单台虚拟主机实现多个域名:HTTP/1.1 规范允许一台 HTTP 服务器搭建多个 Web 站点。
通信数据转发程序 : 代理、 网关、 隧道。这些应用程序和服务器可以将请求转发给通信线路上的下一站服务器, 并且能接收从那台服务器发送的响应再转发给客户端。
代理
代理是一种有转发功能的应用程序, 它扮演了位于服务器和客户端“中间人”的角色, 接收由客户端发送的请求并转发给服务器, 同时也接收服务器返回的响应并转发给客户端。
网关
网关是转发其他服务器通信数据的服务器, 接收从客户端发送来的请求时, 它就像自己拥有资源的源服务器一样对请求进行处理。 有时客户端可能都不会察觉, 自己的通信目标是一个网关。
隧道
隧道是在相隔甚远的客户端和服务器两者之间进行中转, 并保持双方通信连接的应用程序。

HTTP报文首部

HTTP请求报文

在请求中, HTTP 报文由方法、 URI、 HTTP 版本、 HTTP 首部字段等部分构成。
在这里插入图片描述
在这里插入图片描述

HTTP响应报文

在响应中, HTTP 报文由 HTTP 版本、 状态码(数字和原因短语) 、HTTP 首部字段 3 部分构成。
在这里插入图片描述
在这里插入图片描述

HTTP 首部字段

HTTP 首部字段是由首部字段名和字段值构成的, 中间用冒号“:” 分隔。
在这里插入图片描述
另外, 字段值对应单个 HTTP 首部字段可以有多个值, 如下所示。
在这里插入图片描述

HTTP 首部字段根据实际用途被分为以下 4 种类型

在这里插入图片描述

6.2.5 非 HTTP/1.1 首部字段

在这里插入图片描述

6.2.6 End-to-end 首部和 Hop-by-hop 首部

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1473990.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

信用卡没逾期就万事大吉了吗?

6月28日,中国人民银行揭晓了《2024年第一季度支付体系概览》,数据显示,截至本季度末,信用卡及借贷合一卡的总量为7.6亿张,与上一季度相比,这一数字微降了0.85个百分点。同时,报告还指出&#xf…

【Unity】unity学习扫盲知识点

1、建议检查下SystemInfo的引用。这个是什么 Unity的SystemInfo类提供了一种获取关于当前硬件和操作系统的信息的方法。这包括设备类型,操作系统,处理器,内存,显卡,支持的Unity特性等。使用SystemInfo类非常简单。它的…

HTML5使用<progress>进度条、<meter>刻度条

1、<progress>进度条 定义进度信息使用的是 progress 标签。它表示一个任务的完成进度&#xff0c;这个进度可以是不确定的&#xff0c;只是表示进度正在进行&#xff0c;但是不清楚还有多少工作量没有完成&#xff0c;也可以用0到某个最大数字&#xff08;如&#xff1…

ctfshow web sql注入 web242--web249

web242 into outfile 的使用 SELECT ... INTO OUTFILE file_name[CHARACTER SET charset_name][export_options]export_options:[{FIELDS | COLUMNS}[TERMINATED BY string]//分隔符[[OPTIONALLY] ENCLOSED BY char][ESCAPED BY char]][LINES[STARTING BY string][TERMINATED…

C++11|包装器

目录 引入 一、function包装器 1.1包装器使用 1.2包装器解决类型复杂 二、bind包装器 引入 在我们学过的回调中&#xff0c;函数指针&#xff0c;仿函数&#xff0c;lambda都可以完成&#xff0c;但他们都有一个缺点&#xff0c;就是类型的推导复杂性&#xff0c;从而会…

aardio —— 今日减bug

打字就减bug 鼠标双击也减bug 看看有多少bug够你减的 使用方法&#xff1a; 1、将资源附件解压缩&#xff0c;里面的文件夹&#xff0c;放到aardio\plugin\plugins 目录 2、aardio 启动插件 → 插件设置 → 选中“今日减bug” → 保存。 3、重启 aardio&#xff0c;等aa…

解决IDEA每次新建项目都需要重新配置maven的问题

每次打开IDEA都要重新配置maven&#xff0c;这是因为在DEA中分为项目设置和全局设置&#xff0c;这个时候我们就需要去到全局中设置maven了。我用的是IntelliJ IDEA 2023.3.4 (Ultimate Edition)&#xff0c;以此为例。 第一步&#xff1a;打开一个空的IDEA&#xff0c;选择左…

起飞,纯本地实时语音转文字!

简介 偶然在 github 上翻到了这个项目 https://github.com/k2-fsa/sherpa-ncnn 在没有互联网连接的情况下使用带有 ncnn 的下一代 Kaldi 进行实时语音识别。支持 iOS、Android、Raspberry Pi、VisionFive2、LicheePi4A等。 也就是说语音转文字可以不再借助网络服务的接口&am…

昇思MindSpore学习笔记4-03生成式--Diffusion扩散模型

摘要&#xff1a; 记录昇思MindSpore AI框架使用DDPM模型给图像数据正向逐步添加噪声&#xff0c;反向逐步去除噪声的工作原理和实际使用方法、步骤。 一、概念 1. 扩散模型Diffusion Models DDPM(denoising diffusion probabilistic model) &#xff08;无&#xff09;条件…

昇思25天学习打卡营第8天|模型权重与 MindIR 的保存加载

目录 导入Python 库和模块 创建神经网络模型 保存和加载模型权重 保存和加载MindIR 导入Python 库和模块 上一章节着重阐述了怎样对超参数予以调整&#xff0c;以及如何开展网络模型的训练工作。在网络模型训练的整个进程当中&#xff0c;事实上我们满怀期望能够留存中间阶段…

眼底图像生成新 SOTA:GeCA模拟生物细胞的演变过程

眼底图像生成新 SOTA&#xff1a;GeCA模拟生物细胞的演变过程 提出背景GeCA 框架生成元胞自动机&#xff1a;从单细胞到生物体的过程生物体从单个像素细胞开始细胞扩散&#xff1a;从细胞演变为生物体通过基因遗传改进逆向采样视网膜疾病分类GeCA 逻辑拆解子解法1&#xff1a;神…

Go高级库存照片源码v5.3

GoStock – 免费和付费库存照片脚本这是一个免费和付费共享高质量库存照片的平台,用户可以上传照片与整个社区和访客分享,并可以通过 PayPal 接收捐款。此外,用户还可以点赞、评论、分享和收藏您最喜欢的照片。 下载 特征: 使用Laravel 10构建订阅系统Stripe 连接渐进式网页…

【Python机器学习】模型评估与改进——分层k折交叉验证

在k折分层验证中&#xff0c;将数据集划分为k折时&#xff0c;从数据的前k分之一开始划分&#xff0c;这可能并不总是一个好主意&#xff0c;例如iris数据集中&#xff1a; from sklearn.datasets import load_irisirisload_iris() print(Iris labels:\n:{}.format(iris.targe…

2.Python学习:数据类型和变量

1.标识符命名规则 只能由数字、字母、下划线组成不能以数字开头不能是关键字&#xff08;如class等python内部已经使用的标识符&#xff09;区分大小写 查看关键字&#xff1a; print(keyword.kwlist)2.数据类型 2.1常见数据类型 2.1.1Number数值型&#xff1a; 整数int&a…

13 - Python网络编程入门

网络编程入门 计算机网络基础 计算机网络是独立自主的计算机互联而成的系统的总称&#xff0c;组建计算机网络最主要的目的是实现多台计算机之间的通信和资源共享。今天计算机网络中的设备和计算机网络的用户已经多得不可计数&#xff0c;而计算机网络也可以称得上是一个“复…

自定义isdate函数,判定日期字符串有效性

自定义isdate函数&#xff0c;按日期“属性”&#xff0c;判定字符串日期有效性。 (笔记模板由python脚本于2024年07月05日 15:28:04创建&#xff0c;本篇笔记适合喜欢探究python内建模块的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.o…

One day for Chinese families

周围生活中的普通家庭的一天流程&#xff1a; 【上班的一天】 【放假的一天】 有家庭的人&#xff0c;上班流程&#xff1a; 01&#xff09;准备早餐&#xff0c;牛奶&#xff0c;面包 02&#xff09;叫娃娃起床&#xff0c;一般要蛮久的&#xff1b;沟通交流 -- 哄娃娃 -- 生气…

2-5 softmax 回归的简洁实现

我们发现通过深度学习框架的高级API能够使实现线性回归变得更加容易。 同样&#xff0c;通过深度学习框架的高级API也能更方便地实现softmax回归模型。 本节如在上节中一样&#xff0c; 继续使用Fashion-MNIST数据集&#xff0c;并保持批量大小为256。 import torch from torc…

Linux操作系统的引导过程

系统初始化进程与文件、systemd概述、单元类型、切换运行级别、查看系统默认默认运行、永久切换、常见的系统服务&#xff08;centos&#xff09;-CSDN博客 centos 7系统升级内核&#xff08;ELRepo仓库&#xff09;、小版本升级、自编译内核-CSDN博客 ss命令详细使用讲解文…

微积分-导数4(三角函数的导数)

证明 f ( x ) sin ⁡ x f(x) \sin x f(x)sinx的导数为 f ′ ( x ) cos ⁡ x f(x) \cos x f′(x)cosx 已知函数 f ( x ) sin ⁡ x f(x) \sin x f(x)sinx 画出 f ( x ) f(x) f(x)图像以及 f ′ ( x ) f(x) f′(x)的图像 因此&#xff0c;我们可以合理的猜测&#xff1a;…