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.mzph.cn/bicheng/41766.shtml

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

相关文章

MySQL第三天作业

一、在数据库中创建一个表student,用于存储学生信息 CREATE TABLE student( id INT PRIMARY KEY, name VARCHAR(20) NOT NULL, grade FLOAT ); 1、向student表中添加一条新记录 记录中id字段的值为1,name字段的值为"monkey"…

【Linux】查找命令——which,type,find,whereis,locate

命令与文件的查找 文件的查找可就厉害了,因为我们常常需要知道哪个文件放在哪里,才能够对该文件进行一些修改或维护等操作。 有时候某些软件配置文件的文件名是不变的,但是各Linux发行版放置的目录则不同。 此时就要利用一些查找命令将该配…

【linux/shell】shell中实现函数重载

在 shell 脚本中,函数重载(Function Overloading)的概念与一些编程语言(如 Java 或 C#)中的函数重载不同。在这些编程语言中,你可以定义多个同名函数,只要它们的参数列表不同。然而,…

C语言基础全解:细说每个知识点

目录 1. 进制转换方法 1.1 二进制转十进制 1.2 十进制转二进制 1.3 二进制转八进制 1.4 二进制转十六进制 1.5 八进制转二进制 1.6 十六进制转二进制 2. 进制简介 特别注意 C语言基础元素概览 1. 关键字分类 1.1 存储类型关键字 1.2 数据类型关键字 1.3 构造类型…

25.【C语言】循环结构之for 上

1.基本使用 类比while 在while循环中&#xff0c;有三个不可或缺的部分&#xff1a;初始化&#xff0c;判断部分&#xff0c;调整部分 int i 0;//初始化 while (i < 10)//判断部分 {……i;//调整部分 }三个部分太分散&#xff0c;用for循环可集为一体&#xff0c;简洁 …

使用shell脚本实现DM8开机自动启动

编写shell脚本 #!/bin/bashsu -dmdba >>EOF cd /home/dmdba/dmdbms/bin ./DmServiceDMTEST start echo "dm start ... " EOF注意&#xff1a;DmServiceDMTEST每个服务器设置的不一样&#xff0c;根据实际进行更换 授权脚本可执行权限 chmod -x /dmdata/dmse…

Kotlin中的关键字

Kotlin 中的关键字可分为几个大类&#xff1a; 声明/定义关键字&#xff1a; class&#xff1a;用于定义类interface&#xff1a;用于定义接口object&#xff1a;用于声明对象&#xff0c;Kotlin中实现单例模式的关键字fun&#xff1a;用于声明函数var&#xff1a;用于声明可变…

目标检测精度提升秘籍:算法优化策略全解析

标题&#xff1a;目标检测精度提升秘籍&#xff1a;算法优化策略全解析 目标检测是计算机视觉领域的核心技术之一&#xff0c;广泛应用于视频监控、自动驾驶、医疗成像等领域。然而&#xff0c;提升目标检测算法的准确性是一个持续的挑战。本文将深入探讨如何优化目标检测算法…

web学习笔记(七十九)

目录 1.全局共享数据的用法 2.小程序的本地持久化存储 3.小程序获取头像和用户昵称 4.如何实现进入页面就隐藏TabBar 1.全局共享数据的用法 小程序中的全局数据再app.js文件中声明&#xff0c;app本来就是小程序给我们配置的全局文件&#xff0c;因此在app.js文件中声明的…

数据结构第12节 有向图

有向图&#xff08;Directed Graph 或 Digraph&#xff09;是一种图数据结构&#xff0c;其中的边具有方向性。这意味着在一个有向图中&#xff0c;边可以被视为箭头&#xff0c;箭头从一个顶点指向另一个顶点&#xff0c;表示从起点到终点的单向关系。有向图的这种特性使得它在…

搭建互联网医院实战:从源码到在线问诊APP的全流程开发

今天&#xff0c;笔者将讲述在线问诊APP的全流程开发&#xff0c;帮助开发者理解和掌握搭建互联网医院的核心技术和步骤。 一、需求分析与设计 需求分析包括明确目标用户、功能需求、性能需求等。设计阶段则包括系统架构设计、数据库设计和前后端界面设计等。 1.目标用户&…

最小权顶点覆盖问题-优先队列分支限界法-C++

问题描述: 给定一个赋权无向图 G(V,E)&#xff0c;每个顶点 v∈V 都有一个权值 w(v)。如果 U⊆V&#xff0c;U⊆V&#xff0c;且对任意(u,v)∈E 有 u∈U 或 v∈U&#xff0c;就称 U 为图 G 的一个顶点覆盖。G 的最小权顶点覆盖是指 G 中所含顶点权之和最小的顶点覆盖。对于给定…

提取重复数据

直接上控制台代码&#xff1a; Module Module1Sub Main()Console.WriteLine("请输入数据&#xff0c;以""&#xff0c;""相隔&#xff1a;")Dim str As String Console.ReadLineDim result From x In str.Split(",")Group By x Int…

NTP协议格式解析

1. NTP时间戳格式 SNTP使用在RFC 1305 及其以前的版本所描述标准NTP时间戳的格式。与因特网标准标准一致&#xff0c; NTP 数据被指定为整数或定点小数&#xff0c;位以big-endian风格从左边0位或者高位计数。除非不这样指定&#xff0c;全部数量都将设成unsigned的类型&#…

用python做DDL的静态分析

最近在用python做DDL SQL的分析&#xff0c;用的是simple_ddl_parser1.5.1。遇到了一些问题&#xff0c;记录一下。 simple_ddl_parser能解析多种数据库的DDL语句&#xff0c;我要处理的是mysql的DDL&#xff0c;发现有些mysql的写法还是不支持&#xff1a; 在表层面不支持使用…

Android Graphics 显示系统 - 监测、计算FPS的工具及设计分析

“ 在Android图像显示相关的开发、调试、测试过程中&#xff0c;如何能有效地评估画面的流畅度及监测、计算图层渲染显示的实时FPS呢&#xff1f;本篇文章将会提供一种实用、灵巧的思路。” 01 设计初衷 面对开发测试中遇到的卡顿掉帧问题&#xff0c;如何在复现卡顿的过程中持…

大模型AIGC转行记录(一)

自从22年11月chat gpt上线以来&#xff0c;这一轮的技术浪潮便变得不可收拾。我记得那年9月份先是在技术圈内讨论&#xff0c;然后迅速地&#xff0c;全社会在讨论&#xff0c;各个科技巨头、金融机构、政府部门快速跟进。 软件开发行业过去与现状 我19年决定转码的时候&…

代码随想录算法训练营第四十五天| 300.最长递增子序列、 674. 最长连续递增序列、 718. 最长重复子数组

300.最长递增子序列 题目链接&#xff1a;300.最长递增子序列 文档讲解&#xff1a;代码随想录 状态&#xff1a;不会&#xff0c;递推状态的时候只想着如何从dp[i-1]推导dp[i]&#xff0c;没想过可能需要枚举dp[0-i] 思路&#xff1a; 找出所有比自己小的数字的dp[j],在这些dp…

【K8s】【问题排查】k8s只能本地服务器访问服务,其他节点无法访问服务

出现原因&#xff1a; 问题描述&#xff1a;k8s部署服务之后&#xff0c;只能在Pod所在的节点通过node ip 对外暴露的端口请求&#xff1b;无法使用CLUSTER-IP端口访问。也不能在其他Node节点通过Pod所在的节点通过node ip 对外暴露的端口请求&#xff1b; 主机名与IP对应情况&…

随着人工智能与机器学习的广泛应用,Java 如何有效地与深度学习框架进行集成,以实现更智能的应用开发?

Java作为一种广泛使用的编程语言&#xff0c;在人工智能和机器学习领域也有着一定的应用。Java可以通过与深度学习框架的集成来实现更智能的应用开发&#xff0c;以下是一些方法&#xff1a; 使用Java的深度学习框架&#xff1a;Java有一些针对深度学习的框架&#xff0c;如DL4…