计算机网络HTTP全讲解,让你透彻掌握HTTP协议(三)http长短连接/代理/网关/缓存/内容协商机制/断点续传

news2025/2/25 21:04:01

HTTP

    • HTTP的长连接与短连接
      • 短链接
      • 长链接
    • HTTP代理
      • 代理的作用
    • HTTP网关
      • web网关
      • 常见的网关类型
    • HTTP缓存
      • HTTP缓存头部字段
      • HTTP缓存工作方式
      • 缓存改进方案
        • cdn缓存工作方式
      • 浏览器操作对http缓存的影响
    • HTTP内容协商机制
      • 客户端驱动
      • 服务器驱动
        • 请求首部集
        • 近似匹配
      • 透明协商
    • 断点续传和多线程下载
      • 断点续传过程

HTTP的长连接与短连接

能一次节约很多资源,服务很多次的这种是长连接。只能服务一次的就是短连接。

HTTP协议是基于请求/响应模式的,因此只要服务端给了响应,本次HTTP请求就结束了,那根本就没有连接。所以怎么会有http的长短连接呢?

HTTP的长连接和短链接本质上是TCP长连接和短连接。

http协议是应用层协议,在传输层使用的是tcp协议,在网络层使用ip协议。ip协议主要解决网络路由和寻址这些问题,tcp协议主要解决如何在ip层之上可靠的传递数据包,使在网络上另一端收到发端发出的所有包,并且顺序与发出顺序一致。之所以说http分为长连接和短连接本质上就是在说tcp连接。

tcp连接是一个双向的的通道,他可以保持一段时间不关闭,因此tcp连接才有真正的长连接和短连接。所以实际上http请求和http响应都是通过tcp连接这个通道来回传输的。

HTTP/1.0中,默认使用的是短链接。也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,结束就中断。

如果客户端浏览器访问某个html或者其他类型的web页中,包含有其他的web资源,比如js文件,css样式,图像等。当浏览器每遇到一个web资源时,就会建立一个http会话。

但是从HTTP/1.1起,默认使用长连接,用以保持连接特性。

使用长连接的情况下,当一个网页打开完成之后,客户端和服务器之间用于传输http数据的tcp连接不会关闭,connection:keep-alive,如果客户端再次访问这个服务器上的网页,会继续使用已经建立的连接。这样的keep-alive不会永久保持连接,它可以设定保持的时间。

短链接

建立连接——数据传输——关闭连接…建立连接——数据传输——关闭连接

长链接

建立连接——数据传输…(保持连接)…数据传输——关闭连接

HTTP代理

在这里插入图片描述

代理的作用

  • 抓包:为了能够更好的分析HTTP请求,或者达到安全测试的目的,就需要对客户端的数据包进行拦截。所以代理也叫做拦截服务器。
  • FQ:想要访问被防火墙屏蔽的服务器时,就可以通过代理服务器。
  • 匿名访问:http代理服务器通过删除http报文中的身份特性,比如客户端的ip地址,或者cookie,从而对远端的服务器隐藏原始用户的ip地址以及其他一些细节,同时代理服务器上也不会记录原始用户的log,这样就使得代理上网的阿客户可以在更加安全隐秘的环境中访问网络。
  • 过滤器:比如当我们需要禁止未成年人访问某些网页时,就需要通过代理服务器进行分析和部分请求的拦截,进一步加强对网络的控制。

HTTP网关

网关可以作为某种翻译器使用,它抽象出了一种能够到达资源的方法。网关是资源和应用程序之间的粘合剂。

网关扮演的是“协

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

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

相关文章

类和对象的深入了解4

1.析构函数 1.1析构函数概念 与构造函数功能相反,析构函数不是完成对对象本身的销毁,局部对象销毁工作是由编译器完成 的。而对象在销毁时会自动调用析构函数,完成对象中资源的清理工作。它的名字与类名相同,前面加上一个波浪号…

LLM大模型:十大人工智能大模型技术介绍

十大人工智能大模型技术的简介: 深度学习模型 深度学习是人工智能领域中一种重要的机器学习技术,通过构建深度神经网络来模拟人脑的认知过程。深度学习模型能够自动提取数据的特征,并在海量数据中进行学习和优化,从而在语音识别…

79.WEB渗透测试-信息收集-框架组件识别利用(3)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:78.WEB渗透测试-信息收集-框架组件识别利用(2)-CSDN博客 struts2…

长面板数据实证模型及 Stata 具体操作步骤

目录 一、文献综述 二、理论原理 三、实证模型 四、稳健性检验 五、程序代码及解释 六、代码运行结果 一、文献综述 长面板数据在经济学、金融学、社会学等领域的研究中得到了广泛应用。许多学者通过构建长面板数据模型来研究各种经济现象和社会问题。例如,在研…

乌班图下的vscode粘贴代码后一直在输入CTRLV命令

最近在VMware中使用vscode开发c程序中,拷贝一段代码后,代码界面一直输入CTRLV命令,导致乌班图桌面死掉,无法操作、 解决方法: 1、强制重启。长按电源按钮强制关机,然后再次开机。 2、使用命令行界面。同时…

电测量数据交换DLMS_COSEM组件第47部分:基于IP网络的DLMS_COSEM传输层

1.范围 本部分规定了面向无连接和连接的在IP网络中所使用的DLMS/COSEM通信协议集的传输层(TL)。 这些传输层为用户DLMS/COSEM的应用层提供OSI式服务。面向无连接的传输层基于互联网标准用户数据报协议(UDP)。面向连接的传输层基于互联网标准传输控制协议(TCP)。 DLMS/CO…

C++:map和set

hello,各位小伙伴,本篇文章跟大家一起学习《C:map和set》,感谢大家对我上一篇的支持,如有什么问题,还请多多指教 ! 如果本篇文章对你有帮助,还请各位点点赞!!…

redis的代码开发

redis是什么? 前提:官网地址https://redis.io 1.Redis是一个开源的,key,value格式的,内存型数据结构存储系统;它可用作数据库、缓存和消息中间件。 value支持多种类型的数据结构如strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglo…

亚马逊测评自养号有什么优势?

在当今竞争激烈的电商市场中,若想实现销量的显著增长,测评策略已成为不可或缺的一环,尤其是对于新入驻平台的店铺及推出的创新产品而言,仅凭初期的自然流量难以迅速脱颖而出,因此众多跨境卖家纷纷采用测评手段&#xf…

微信小程序教程002:代码结构介绍和新建小程序页面

文章目录 代码介绍1、小程序代码构成2、小程序页面组成部分3、JSON配置文件的作用3.1 app.json文件3.2 project.config.json文件3.3 sitemap.json文件3.4 页面的.json文件新建小程序页面WXML和WXSS介绍1、什么是WXML2、什么是WXSS小程序的JS文件1、JS文件2、小程序中JS文件分类…

【机器学习】探索图神经网络 (GNNs): 揭秘图结构数据处理的未来

💎 欢迎大家互三:2的n次方_ ​ 💎1. 引言 图结构数据在现实世界中无处不在,从社交网络中的用户关系,到推荐系统中的用户-物品交互,再到生物信息学中的分子结构。传统的机器学习模型在处理这些数据时常常力…

C#高级:枚举(Enum)从索引、值到注释的完整使用技巧

目录 一、推荐的枚举写法 二、获取注释的封装代码 三、已知【枚举】,获取注释、索引 四、已知【索引】,获取枚举值、注释 五、已知【注释】,获取枚举值、索引 六、创建一个【枚举字典】,key索引,value(枚举值&am…

入选ICML!麻省理工团队基于AlphaFold实现新突破,揭示蛋白质动态多样性

作为生物体的重要组成部分,蛋白质具有不同状态,基于集体运动或无序波动的不同结构组合,采用复杂的三维结构,来执行丰富的生物功能,例如,蛋白质构象变化对转运体、通道和酶的功能至关重要,而平衡…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 围棋的气(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线…

Oracle特有的DECODE函数

Oracle中的DECODE函数是一种条件表达式函数,用于基于给定的条件从一组值中选择一个值返回。它的基本语法如下: DECODE(expression, search1, result1, [search2, result2, ...], [default])expression:要比较的表达式或列。searchN&#xff…

正点原子imx6ull-mini-Linux驱动之pinctrl 和 gpio 子系统(5)

1:pinctrl 子系统 1.1:pinctrl 子系统简介 Linux 驱动讲究驱动分离与分层,pinctrl 和 gpio 子系统就是驱动分离与分层思想下的产物, 驱动分离与分层其实就是按照面向对象编程的设计思想而设计的设备驱动框架 来回顾一下上一章是…

2006年威廉王子提出分手 舞会上凯特一袭护士装令他再次沦陷 迅速和好

虽然威廉王子和凯特米德尔顿是当今最有影响力和最令人心动的情侣之一,但许多人可能忘记了,早在 2006 年,两人还在约会时,他们曾短暂分手。尽管当时他们的分手可能让英国媒体感到意外,但不到一年后,两人就和…

Window部署Ollama+Qwen2.0+Open-WebUI

文章目录 Windows下安装Docker安装Docker检查是否安装成功, 出现版本即为安装成功安装Ollama启动 Ollama 并拉取模型(选做) 修改默认地址和端口(选做) Ollama 进行跨域配置安装open-webui Windows下安装Docker 准备条件 开启Hyper-V,在“启用或关闭Windows功能”里…

全网最强Linux教程 | 万字长文爆肝Linux操作系统

Linux 1.Linux的引言 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器操作系统方面保…

【数据保护】微软开源数据保护项目Presidio-匿名器

Presidio是由微软维护的开源数据保护项目,其主要包含三个功能模块,分别是: Presidio analyzer:该模块主要负责文本类数据敏感信息扫描。Presidio anonymizer:该模块主要负责对已检测到的敏感实体进行脱敏处理。Presidio image redactor&…