http读书笔记

news2024/10/5 13:10:15

持久化

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.coloradmin.cn/o/1900974.html

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

相关文章

mysql 9 新特新

mysql9新特性 新特性Audit Log NotesC API NotesCharacter Set SupportCompilation NotesComponent NotesConfiguration NotesData Dictionary NotesData Type NotesDeprecation and Removal NotesEvent Scheduler NotesJavaScript ProgramsOptimizer NotesPerformance Schema …

微机原理与单片机 知识体系梳理

单片机笔记分享 我个人感觉单片机要记的东西很多,也很琐碎,特别是一些位、寄存器以及相关作用等,非常难以记忆。因此复习时将知识点整理在了一起做成思维导图,希望对大家有所帮助。内容不是很多,可能有些没覆盖全&…

轻预压:滚珠丝杆精度与刚性的平衡点!

预压是指在所需的工作负荷下,使滚珠丝杆预先承受一定的负荷,从而使滚珠丝杆的轴向向心度和侧向偏差达到较小的偏差范围,保证了滚珠丝杆的准确性和稳定性,也确保机器的高精度和长期运作的可靠性。 预压是滚珠丝杆设计中的一个重要参…

基于Java技术的人事管理系统

你好,我是专注于计算机科学领域的小野。如果你对人事管理系统感兴趣或有相关需求,欢迎私信交流。 开发语言: Java 数据库: MySQL 技术: B/S模式、Java技术、SpringBoot 工具: Eclipse、MySQL、浏览…

Selenium 切换 frame/iframe

环境: Python 3.8 selenium3.141.0 urllib31.26.19说明: driver.switch_to.frame() # 将当前定位的主体切换为frame/iframe表单的内嵌页面中 driver.switch_to.default_content() # 跳回最外层的页面# 判断元素是否在 frame/ifame 中 # 126 邮箱为例 # …

基于若依的文件上传、下载

基于若依实现文件上传、下载 文章目录 基于若依实现文件上传、下载1、前端实现-文件上传1.1 通用上传分析1.2 修改实现上传接口 2、后端实现-文件上传3、后端实现-文件下载4、前端实现-文件下载 官网其实也写了,但是我是自己改造封装了一下,再次迈向全栈…

vofa+:一款超级好用的可视化串口调试软件

目录 一、软件配置 1、先配置好usart1串口 2、重定向printf: 3&#xff0c;勾选魔术棒中的LIB 二、vofa的使用 1、RawData模式 2、FireWater 一、软件配置 1、先配置好usart1串口 2、重定向printf: 在 stm32f4xx_hal.c中添加&#xff1a; #include <stdio.h> e…

加密货币大利好!9月降息概率突破70%!美国可能大幅降息或多次降息?

根据最新消息&#xff0c;美国9月降息的概率已经突破70%&#xff0c;这对加密货币市场来说是个利好消息。与此同时&#xff0c;美国经济表现疲软&#xff0c;可能会陷入衰退&#xff0c;联邦储备系统(Fed)接下来会不会果断采取大幅降息措施备受关注。 美国劳工统计局7月5日公布…

VBA初学:零件成本统计之一(任务汇总)

经过前期一年多对金蝶K3生产任务流程和操作的改造和优化&#xff0c;现在总算可以将零件加工各个环节的成本进行归集了。 原本想写存储过程&#xff0c;通过直接SQL报表做到K3中去的&#xff0c;但财务原本就是用EXCEL&#xff0c;可以方便调整和保存&#xff0c;加上还有一部分…

Java对象比对工具

背景 前段时间的任务中&#xff0c;遇到了需要识别两个对象不同属性的场景&#xff0c;如果使用传统的一个个属性比对equals方法&#xff0c;会存在大量的重复工作&#xff0c;而且为对象新增了属性后&#xff0c;比对方法也需要同步修改&#xff0c;不方便维护&#xff0c;于是…

76 4G模组 境外拨号入网注意

1 引言 最近朋友把国内的设备拿到新加坡了&#xff0c;然后发现原本国内可以使用的设备无法在异国他乡联网&#xff0c;所以就叫我来看看&#xff0c;发现是附网返回状态、入网APN发生了改变导致的。另外&#xff0c;如果在境外使用国产4G模组拨号入网&#xff0c;也需要关注4G…

Nginx实战:nginx性能压测(ab)

在nginx的生产实践中,不管是服务上线,还是性能优化,都会遇到需要对nginx的性能压测,本文介绍一个简单的压测工具:ab命令 ab(Apache Bench)是一个常用的HTTP压力测试工具,可以用来测试Nginx的性能和压力。ab命令可以指定并发请求数、请求数、请求类型等参数,并输出测试…

MySQL第三次作业--DML语句(INSERT)

目录 一、在数据库中创建一个表student&#xff0c;用于存储学生信息 二、向student表中添加一条新记录&#xff0c;记录中id字段的值为1&#xff0c;name字段的值为"monkey"&#xff0c;grade字段的值为98.5 三、向student表中添加多条新记录&#xff1a; 2,&qu…

G1.【C语言】EasyX初步了解

1.介绍 EasyX 是针对 C/C 的图形库&#xff0c;可以帮助使用C/C语言的程序员快速上手图形和游戏编程。 2.安装 EasyX Graphics Library for CEasyX Graphics Library 是针对 Visual C 的绘图库&#xff0c;支持 VC6.0 ~ VC2019&#xff0c;简单易用&#xff0c;学习成本极低…

使用WinSCP工具连接Windows电脑与Ubuntu虚拟机实现文件共享传输

一。环境配置 1.首先你的Windows电脑上安装了VMware虚拟机&#xff0c;虚拟机装有Ubuntu系统&#xff1b; 2.在你的windows电脑安装了WinSCP工具&#xff1b; 3.打开WinSCP工具默认是这样 二。设置WinSCP连接 打开WinSCP&#xff0c;点击新标签页&#xff0c;进入到如下图的…

编码与加密

编码与加密在爬虫中经常涉及&#xff0c;常见的编码有base64, unicode, urlencode&#xff0c;常见的加密有MD5, SHA1, HMAC, DES, AES, RSA。 下面逐一介绍&#xff1a; 一&#xff0c;编码 1.1 常规编码 常规编码约定了字符集中字符与一定长度二进制的映射关系&#xff0…

leetcode刷题(51-60)

算法是码农的基本功&#xff0c;也是各个大厂必考察的重点&#xff0c;让我们一起坚持写题吧。 遇事不决&#xff0c;可问春风&#xff0c;春风不语&#xff0c;即是本心。 我们在我们能力范围内&#xff0c;做好我们该做的事&#xff0c;然后相信一切都事最好的安排就可以啦…

BES 平台 SDK之ANC 参数调整

前言: 最近项目开发进入到DV 阶段,客户临时提了一个需求,希望在ota升级的时候,保留ANC 参数下的total_gain 值,ota只更新滤波器相关参数。total_gain 继续使用产线校准好的值。 一:ANC 参数 1.首先需要找到代码对应ANC 加载的函数: best1502x_ibrt_anc_…

TeXstudio对已加载宏包的命令标记为暗红色未知命令

宏包已正常加载&#xff0c;编译也正常&#xff0c;但却将某些命令标记为暗红色。 具体的原因可参考 https://sourceforge.net/p/texstudio/wiki/Frequently%20Asked%20Questions/#how-does-txs-know-about-valid-commandshttps://sourceforge.net/p/texstudio/wiki/Frequent…

Vue 3集成krpano 全景图展示

Vue 3集成krpano 全景图展示 星光云全景系统源码 VR全景体验地址 星光云全景VR系统 将全景krpano静态资源文件vtour放入vue项目中 导入vue之前需要自己制作一个全景图 需要借助官方工具进行制作 工具下载地址&#xff1a;krpano工具下载地址 注意事项&#xff1a;vuecli…