HTTP知识总结

HTTP知识点总结 HTTP是应用层的协议,规定了应用程序在万维网中通信时应遵循的协议,是万维网能可靠地交换文件的重要基础。 HTTP报文首部(Header) 1、HTTP请求报文首部:方法、URL、HTTP版本、首部字段 方法(method): (1)GET:请求读取由URL所标志的信息 (2)HEAD:请求读取由URL所标志的信息首部 (3)POST:给服务器添加信息 (4)PUT:在指明的URL下存储一个文档 (5)DELETE:删除指明的URL所标志的资源 2、HTTP请求报文首部:状态码、HTTP版本、首部字段 阅读详情

HTTP是基于TCP/IP协议的应用层协议,用于客户端和服务器之间的通信,默认80端口。我们按照他的发展历程的时间顺序开始说。

1. HTTP/0.9

1990年提出的,是最早期的版本,只有一个命令GET。

2. HTTP/1.0

缺点:每个TCP连接只能发送一个请求。
解决方法:Connection:keep-alive

3.HTTP/1.1

1997年1月提出,现在使用最广泛的。

特性

  1. 长连接:TCP连接默认不关闭,可以被多个请求复用。对于同一个域名,大多数浏览器允许同时建立6个持久连接。默认开启Connection:keep-alive。
  2. 管道机制:在同一个TCP连接里,可以同时发送多个请求。但是服务器还是要按照请求的顺序进行响应,会造成“队头阻塞”。

在google 中在同一个域名下,能够实现了一个连接进行并发请求 (多路复用)

通用首部字段

1、Cache-Control:操作缓存的工作机制

  • public:明确表明其他用户也可以利用缓
  • private:缓存只给特定的用户
  • no-cache:客户端发送这个指令,表示客户端不接收缓存过的响应,必须到服务器取;服务器返回这个指令,指缓存服务器(客户端)不能对资源进行缓存。其实是不缓存过期资源,要向服务器进行有效期确认后再处理资源。
  • no-store:指不进行缓存
  • max-age:缓存的有效时间(相对时间)
  • s-maxage: 代理服务器的缓存

2、Connection:

  • Connection:keep-Alive (默认持久连接)
  • Connection:不再转发的首部字段名

3、Pragma:兼容http1.0,与Cache-Control:no-cache含义一样。但只用在客户端发送的请求中,告诉所有的中间服务器不返回缓存。形式唯一:

Pragma:no-cache

请求首部字段

  1. Accept:通知服务器,用户代理能够处理的媒体类型及媒体类型的相对优先级 q表示优先级的权重值,默认为q = 1.0,范围是0~1(可精确到小数点后3位,1为最大值)当服务器提供多种内容时,会先返回权重值最高的媒体类型
  2. Accept-Charset:支持的字符集及字符集的相对优先顺序,跟Accept一样,用q来表示相对优先级。这个字段应用于内容协商机制的服务器驱动协商。
  3. Accept-Encoding:支持的内容编码及内容编码的优先级顺序,q表示相对优先级。内容编码:gzip、compress、deflate、identity(不执行压缩或者不会变化的默认编码格式)。可以使用*作为通配符,指定任意的编码格式。
  4. Accept-Language:能够处理的自然语言集,以及相对优先级。
  5. Referer: 能知道请求URI从哪个页面发起
  6. HOST: 明确支出请求的主机名(请求头中必须存在的字段)

响应首部字段

  1. ETag:资源的匹配信息
  2. Location: 令客户端重定向至指定URI

实体首部字段

  1. Allow 资源可支持的HTTP方法
  2. Content-Encoding 实体主体适用的编码方式
  3. Content-Language 实体主体的自然语言
  4. Content-Length 实体主体的大小(单位:字节)
  5. Content-Location 替代对应资源的URI
  6. Content-Type 实体主体的媒体类型 Expires 实体主体过期的日期时间
  7. Last-Modified 资源的最后修改日期时

HTTP缓存机制

缓存分类

  1. 强制缓存
    在缓存数据未失效的情况下,可以直接使用缓存数据;在没有缓存数据的时候,浏览器向服务器请求数据时,服务器会将数据和缓存规则一并返回,缓存规则信息包含在响应header中。
  • Expires:缓存过期时间(HTTP1.0)
    缺点:生成的是绝对时间,但是客户端时间可以随意修改,会导致误差
  • Cache-Control :HTTP1.1,优先级高于Expires

private: 客户端可以缓存
public: 客户端和代理服务器都可缓存
max-age=xxx: 缓存的内容将在 xxx 秒后失效
no-cache: 需要使用协商缓存来验证缓存数据(后面介绍)
no-store: 所有内容都不会缓存,强制缓存,对比缓存都不会触发

Expires和Cache-Control决定了浏览器是否要发送请求到服务器,ETag和Last-Modified决定了服务器是要返回304+空内容还是新的资源文件。

  1. 协商缓存
    浏览器第一次请求数据时,服务器会将缓存标识与数据一起返回给客户端,客户端将二者备份至缓存数据库中。再次请求数据时,客户端将备份的缓存标识发送给服务器,服务器根据缓存标识进行判断,判断成功后,返回304状态码,通知客户端比较成功,可以使用缓存数据。
  • Last-Modified / If-Modified-Since

Last-Modified:服务器在响应请求时,告诉浏览器资源的最后修改时间。
If-Modified-Since:再次请求服务器时,通过此字段通知服务器上次请求时,服务器返回的资源最后修改时间。

缺点:Last-Modified 标注的最后修改时间只能精确到秒,如果有些资源在一秒之内被多次修改的话,他就不能准确标注文件的新鲜度了。如果某些资源会被定期生成,当内容没有变化,但 Last-Modified 却改变了,导致文件没使用缓存;有可能存在服务器没有准确获取资源修改时间,或者与代理服务器时间不一致的情形。

  • Etag / If-None-Match(优先级高于Last-Modified / If-Modified-Since)

Etag:给资源计算得出的一个唯一标志符。
If-None-Match:再次请求服务器时,通过此字段通知服务器客户端缓存数据的唯一标识。

缓存判断顺序

  1. 先判断Cache-Control,在Cache-Control的max-age之内,直接返回200 from cache;
  2. 没有Cache-Control再判断Expires,再Expires之内,直接返回200 from cache;
  3. Cache-Control=no-cache或者不符合Expires,浏览器向服务器发送请求;
  4. 服务器同时判断ETag和Last-Modified,都一致,返回304,有任何一个不一致,返回200。

具体过程如下图:
在这里插入图片描述

线性代数——(期末突击)行列式(上)-行列式计算、行列式的性质 简单解释一下:4213原本的顺序应为1234,对于‘4’而言,‘2’、‘1’、‘3’都应该排在它的前面,所以此处记逆序数为3;对于‘2’而言,‘1’应该排在它的前面,而‘3’排在它之后 是合理的,所以此处只有一个逆序数;最后看‘1’,其后面的‘3’排在后面显然也是合理的,故而4213的逆序数为4.一般我们使用这个性质来计算四阶行列式,也就是将其变换成三角行列式,再计算对角线的值;以主对角线为分界线的就为正三角,反之则为反三角行列式。若行列式某一行(列)为0,则该行列式=0.将和的那一行分开,其余行。 阅读详情

相关推荐

告别regsvr32!易语言调用大漠插件dm.dll的免注册实战(附Win7/10/11避坑指南)

本文详细介绍了易语言如何免注册调用大漠插件dm.dll的实战方法,通过`dmreg.dll`实现真正的免注册调用,规避了传统`regsvr32`注册方式带来的权限和兼容性问题。文章包含核心原理剖析、易语言实现细节、多系统兼容性方案及高级应用场景,帮助开发者实现绿色化部署,提升自动化脚本开发效率。

weixin_42553471的博客 304

关于Http协议的知识总结

简介 超文本传输协议(HyperText Transfer Protocol)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。 这里的"超"指的是不仅仅是文本,亦可以传输其他类型的数据,例如多媒体。 一次http请求的过程 我们在浏览器输入一个网址,浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址; 根据该 IP 地址和默认端口 8......

阳光大男孩!!!的博客 1592

STC89C52RC单片机原理图详解

左侧A0和右侧B0为一 一对应的关系,左上角DIR为控制数据方向端口,如果DIR接高电平是将左侧数据A0~A8送到右侧B0~B8,如果DIR接低电平,是将右侧数据B0~B8送到左侧A0~A8,由于在电路板上LE始终与VCC连接,因此这里。74HC595是串行输入,并行输出的移位寄存器,可用3根线输入串行数据,8根线输出并行数据,多片级联后,可输出16位、24位、32位等,常用于I/O口扩展。由于数码管为共阴极,给数码管下面接口输入阳码时,LED才亮,但是直接将P0~P7的高电平输入到数码管时,

m0_50562428的博客 6万+

超全http重点总结

HTTP 协议一般指 HTTP(超文本传输协议)。是一种用于分布式、协作式和超媒体信息系统的应用层协议,是因特网上应用最为广泛的一种网络传输协议,所有的 WWW 文件都必须遵守这个标准。HTTP 是为 Web 浏览器与 Web 服务器之间的通信而设计的,但也可以用于其他目的。HTTP 是一个基于 TCP/IP 通信协议来传递数据的(HTML 文件、图片文件、查询结果等)。...

weixin_38984030的博客 1604

NVIDIA NCCL 安装和测试实战教程

ibrary)是用于深度学习应用的高性能通信库,可加速多GPU通信和同步。它能够在多个GPU之间进行高效的数据传输和集体操作,显著提高了分布式GPU系统上深度学习训练和推理的性能。NVIDIA NCCL是加速多GPU系统上深度学习应用的必不可少的工具。其高效的通信原语和集体操作显著提高了分布式训练和推理的性能,使其成为现代深度学习基础架构的关键组成部分。

weixin_39818775的博客 4431

VSCode配置C/C++语言环境(小白专用保姆教程)(超细)

VSCode配置C/C++语言环境(小白专用保姆教程)(超细)

ITQWQ的博客 8229

http 总结

HTTP1.0:解决基础通信问题,但单连接模型导致性能瓶颈HTTP1.1:引入长连接和管道化,但队头阻塞问题依然存在HTTP2.0:通过二进制分帧和多路复用提升并发性能,但TCP层瓶颈未解决HTTP3.0:基于QUIC协议重构传输层,彻底解决队头阻塞,实现连接速度、安全性和网络适应性的全面升级随着5G、物联网和实时交互应用的快速发展,HTTP3将逐渐成为互联网传输的主流协议,为用户带来更快速、稳定和安全的网络体验。

weixin_43667390的博客 349

Transformer实战(32)——Transformer模型压缩

在本节中,我们学习了如何在硬件资源受限的情况下减轻运行大模型的负担。我们介绍了如何通过蒸馏、剪枝和量化从训练好的模型中提取高效模型。预训练轻量级的通用语言模型(如 DistilBERT) 可以在各种任务上进行微调,并表现出与非蒸馏模型相当的性能。随着数据量的不断增加,我们希望模型能够更快地运行,在这方面,高效 Transformer 起着至关重要的作用。

盼小辉丶的博客 2591

HTTP协议详细总结

1.HTTP协议是什么? 2.什么叫做应用层协议 3.HTTP协议的工作流程 4.HTTP报文格式 请求报文: 响应报文: 5.URL 6.方法的认识 1.GET 2.POST 3.GET和POST的区别 4.其他方法 7.报头的认识 用户登陆过程: 8.状态码的认识 9.HTTPS 9.1HTTPS是什么? 9.2HTTPS的工作流程 9.2.1对称加密 9.2.2非对称加密 9.2.3引入证书

qq_55546526的博客 1179

博图SCL基础知识-寻址调用及新建SCL

和LAD/FBD不同,LAD/FBD在程序编辑器是一段一段的,编辑器可以插入新的网络段,每一个网络段可以有各自的注释。一般情况下,FB的简单数据类型形参可以没有对应实参,复杂数据类型的输入、输出也可以没有对应实参,所以FB可以隐藏或不隐藏不出现的形参。一般情况下,FB的简单数据类型形参可以没有对应实参,复杂数据类型的输入、输出也可以没有对应实参,所以FB可以隐藏或不隐藏不出现的形参。如图3所示,当FB的参数全部显示,在背景数据块右键可以激活"仅显示分配的参数";如图2所示,显示了一些FB调用的例子。

电工 2030

【BlueDroid】【BLE】低功耗蓝牙客户端和服务端开发流程解析(超详细)

1. 精讲):SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等协议理论2. 欢迎大家关注和订阅,和专栏会持续更新中.....敬请期待!

风云说通信 1927

HTTP知识点总结,这一篇就够了

** HTTP协议简介 ** 概念: HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。 客户端和服务器: HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口的HTTP请求。我们称这个客户端叫用户代理(user agent)。应答的服务器上存储着资源,比如HTML文件和图像。我们称这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能

qq_54850622的博客 3032

摆脱英文束缚!群晖Transmission4.0.4全新中文界面攻略

在群晖安装完官方Transmission4.0.4套件后,界面是英文状态的,不太好用。但是按照网上分享的原来4.0以前版本的方法更新UI又失败,所以自己搞了下成功了,分享给需要的朋友。

XiaoqiangClub的博客 5218

HTTP相关知识

作为一名前端开发人员,HTTP是必须要储备的知识,这里做了一个小小的总结,让你有种恍然大悟的感觉 什么是通信协议 通信协议是指通信的双方完成通信所必须遵循的规则和约定 通俗的理解:通信双方采用约定好的格式来发送和接受消息,这钟事先约定好的通信格式,就叫做通信协议 什么是HTTP协议 HTTP协议即超文本传输协议,他规定了客服端与服务器之间进行网页传输时所必须遵循的传输格式 客服端要以HTTP协议要求的格式把数据提交到服务器 服务器要把以HTTP协议要求的格式把内容响应给客服端..

奶茶控 2737

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

https,http1,http2,http3的一些知识

https,http1,http2,http3的一些知识温故知新,突然有人问我项目中🤔有使用http3么,一下不知从何说起,就有了这篇文章的出现。

caixin185的博客 1694

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

黑客必须要掌握的HTTP知识

声明:本文仅用于合法范围的学习交流,若使用者将本文用于非法目的或违反相关法律法规的行为,一切责任由使用者自行承担。请遵守相关法律法规,勿做违法行为!01HTTP协议简介超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。

bdfcfff77fa的博客 663

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

HTTP协议的详细知识

平时我们俗称的“网址”,其实就是URL。互联网上的每个文件都有一个唯一的URL,它包含的信息可以指出文件的位置以及浏览器应该怎么处理它。信息描述是否可以省略协议类型常见的协议由两种http和https,访问mysql的协议类型是jdbc:mysql可以省略访问资源需要的凭证信息一般就是登陆信息(用户名,密码等),但是现在的网站进行认证一般不会通过URL进行,所以一般可以省略可以省略服务器地址。

Z2076465172的博客 1615

常用的HTTP知识

1、常用的HTTP方法有哪些? GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器 POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。 PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置。 HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。 DELETE:删除文件,与...

weixin_44828071的博客 171

HTTP 核心知识点整理

强缓存失效 → 发起请求,验证协商缓存 → 返回 304 或新内容。:多次执行结果相同(如 GET、PUT、DELETE)。:不修改资源(如 GET、HEAD)。强缓存生效 → 直接返回本地缓存;

weixin_45746058的博客 1968

http 知识点

为了解决网络信道不可靠的问题,防止已失效的报文又突然传到服务器引起错误,

alpha_xiao的博客 1183

HTTP常见知识点

HTTP是超文本传输协议,具有简单、灵活、跨平台等特点。常见状态码包括200(成功)、404(未找到)和500(服务器错误)等。GET与POST方法在参数传递、安全性上有差异,GET是安全且幂等的。HTTP缓存分为强制缓存和协商缓存两种实现方式。HTTP/1.1支持长连接但存在队头阻塞问题,而HTTPS通过加密解决了HTTP的安全隐患。HTTP/2引入头部压缩和并发传输,HTTP/3基于QUIC协议进一步优化了性能。这些演进使HTTP协议在传输效率和安全性上不断提升。

chenhuizhang的博客 862

HTTP核心知识

掌握这些内容不仅能提升代码质量,还能在团队协作中更好地与后端工程师沟通(如设计 RESTful API)。理解客户端(浏览器)发送 HTTP 请求,服务器返回 HTTP 响应的基本流程。查看请求/响应的详细内容(Headers、Payload、Timing)静态资源(JS/CSS/图片)通过缓存策略减少重复请求。服务端渲染时,理解 HTTP 请求在服务端的处理流程。分析请求瀑布图(Waterfall),定位性能瓶颈。理解双向通信协议,用于实时应用(如聊天室)。合理设计 API 请求(如幂等性、错误重试)。

橘导的博客 1184

Http知识点小记

Http知识点小记

runningo的博客 1120

HTTP 知识点

概览 1.HTTP常用方法 2.Get与POST比较:作用、参数、安全性、幂等型、可缓存 3.HTTP状态码 4.Cookie作用、安全性问题、和Session的比较 [5.缓存的 Cache-Control字段,特别是Expire和max-age的区别。ETag 验证原理](##5.缓存的 Cache-Control字段,特别是Expire和max-age的区别。ETag 验证原理) 6.长连接...

qq_39219279的博客 2412

http接口知识

文章目录1. 接口介绍1.1 接口的基本知识2. http协议2.1 协议介绍2.2 session、token2.3 授权和鉴权2.4 get和post的区别3. 接口测试工具3.1 基本介绍 1. 接口介绍 1.1 接口的基本知识 + 定义 接口:指外部系统与系统之间以及内部各子系统之间的交互点。外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口 + 接口分类 按内外部分...

qq_25672165的博客 6309

【Linux-HTTP协议】HTTP知识延续+HTTP设计改进

但是以前访问的人并不知道域名更改了,于是还是访问以前网站,为了不丢失老客户,技术部门将原网站进行重定向,这样访问的是abc网站,实际已经跳转到xyz网站了;我们自己的是login,百度这里是s,问号后面是一堆参数1,GET方法把参数提交给百度,把后面参数全部交给/s服务,所以/s相当于在服务器注册一个服务列表,并且有对应执行算法(搜索算法),所以它的参数回掉执行对应函数以后,对应算法服务就可以通过回掉把请求的执行后的参数就全部交给我了,交给我之后不就可以看到我们搜索后的内容了吗?

2202_75331338的博客 1394
上一篇: 封装ajax
下一篇: 数组常用的源代码
ccxCode
博客等级 码龄8年 1粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值