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

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.rhkb.cn/news/387815.html

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

相关文章

mysql 慢查询调优实战——between and

现象 SQL报警慢查询 原SQL select * from awards_record WHERE ( create_time between 2024-07-01 00:00:00 and 2024-07-30 00:18:58.004)索引信息 KEY idx_createtime (create_time) USING BTREEexplain分析,发现没走上面的索引 原因 查询数据时&#xff0…

PHP反序列化漏洞从入门到深入8k图文介绍,以及phar伪协议的利用

文章参考:w肝了两天!PHP反序列化漏洞从入门到深入8k图文介绍,以及phar伪协议的利用 前言 本文内容主要分为三个部分:原理详解、漏洞练习和防御方法。这是一篇针对PHP反序列化入门者的手把手教学文章,特别适合刚接触PH…

Java学习Day19:基础篇9

包 final 权限修饰符 空着不写是default! 代码块 1.静态代码块 1.静态代码块优于空参构造方法 2.静态调用只被加载一次; 静态代码块在Java中是一个重要的特性,它主要用于类的初始化操作,并且随着类的加载而执行,且只…

Kafka知识总结(分区机制+压缩机制+拦截器+副本机制)

文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 分区机制 分区策略 分区策略是决定生产者将消息发送到哪个分区的…

明天(8月1日)起施行,这些新规将影响你我生活。

文章目录 I 地方性新规1.1 无需再出示残疾纸质证件1.2《甘肃省反家庭暴力条例》1.3 新修订的《内蒙古自治区失业保险实施办法》II 全面性新规2.1《中药饮片标签管理规定》2.2 亮码可办2.3 免税额度提高至12000元2.4 矿山生态修复国家标准正式施行2.5《公平竞争审查条例》2.6 《…

力扣 位运算

位运算基础的异或运算,线性时间复杂度和常数空间复杂度。 题目 class Solution {public int singleNumber(int[] nums) {int ans 0;for (int i: nums) {ans ^ i;}return ans;} }

焦化行业超低排放改造巩固提升方案(朗观视觉)

朗观视觉小编观察发现:随着全球对环境保护意识的日益增强,焦化行业作为高污染、高排放的工业领域,其超低排放改造已成为行业转型升级的必然趋势。为了积极响应国家关于推进生态文明建设、打赢蓝天保卫战的号召,山东省生态环境厅发…

Socket通信(C++)

文章目录 什么是SocketSocket通信过程C Socket通信APIint socket(int domain, int type, int protocol);int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);struct sockaddrstruct sockaddr_unstruct sockaddr_in / struct sockaddr_in6 int connect(int …

【JavaEE精炼宝库】 网络编程套接字——初识网络编程 | UDP数据报套接字编程

文章目录 一、网络编程基础1.1 网络编程的意义:1.2 网络编程的概念:1.3 网络编程的术语解释:1.4 常见的客户端服务端模型: 二、Socket 套接字2.1 Socket 套接字的概念:2.2 Socket 套接字的分类: 三、UDP数据…

day06

ES文档创建删除流程? ES文档查询流程? Logstash的写入ES失败的原因? 写入节点挂了 逻辑判断都没失败写入空 索引名称命名不规范,全部小写不能下划线开头 内存不够(logstash、ES) 索引上限(到达最大打开…

vue项目实战 vueCropper 仿微信头像任意区域截取图片,上传到腾讯云保存

在package.json中添加 "vue-cropperjs": "4", 后在控制台执行&#xff1a;npm install ImageCropper.vue <template><div v-if"src"><!-- Vue Cropper区域 --><el-row class"cropper-wrapper" v-if"src…

Vue2从基础到实战(指令修饰符)详解

什么是指令修饰符&#xff1f; 指令修饰符就是通过“.”指明一些指令后缀 不同的后缀封装了不同的处理操作 —> 简化代码 按键修饰符 keyup.enter —>当点击enter键的时候才触发 v-model修饰符 v-model.trim —>去除首位空格 v-model.number —>转数字 事件修…

【Vulnhub靶机tomato渗透】

第一步&#xff1a;端口扫描 我使用的是webrobot 访问这个ip&#xff0c;就是它了 第二步&#xff1a;目录扫描 打开kali使用dirb命令扫描http://192.168.189.154下的目录 dirb http://192.168.189.154扫描到目录。 第三步&#xff1a;访问目录地址 看到有几个php的文件 第…

设计模式笔记(一)

目录 设计模式共有23种&#xff0c;也可称为GOF23 单例模式&#xff08;重点&#xff0c;常用&#xff09; 工厂模式 代理模式&#xff1a;&#xff08;SpringAOP的底层原理&#xff09; 静态代理模式&#xff1a;&#xff08;写死一个代理类Proxy&#xff09; 动态代理模…

快速开启react+electron应用,搭建启动问题

注意&#xff1a; React 本地启动在 3000端口Electron 在创建 BrowserWindow 的时候&#xff0c;可以读取本地的文件或者是 url开发环境 读取localhost: 3000生产环境 需要加载本地成型以后的本地文件&#xff0c;打包的时候再考虑 一 react 脚手架 create-react-app 快速搭建…

QT--聊天室

一、设计要求 用QT做一个聊天室&#xff0c; 制作一个服务器和客户端。可以进行注册、登录&#xff0c; 登陆成功后可以使用昵称进行发送、接收消息。 能根据昵称、聊天内容查询历史记录&#xff0c;也可以查询全部聊天记录。 。 二、客户端三级ui界面 三、项目代码 //在…

IDEA管理远程仓库Git

1、模拟项目 新建一个文件夹&#xff0c;用来这次演示 用IDEA来打开文件夹 2、创建仓库 在IDEA中给该文件夹创建本地仓库和远程仓库 在菜单栏找到VCS选择Share project on Gitee 在弹窗中输入描述信息 接下来会出现以下弹窗 点击ADD后&#xff0c;在gitee上会创建远程仓库 …

嵌入式开发服务器与客户端交互 日志2024/7/31

嵌入式开发服务器与客户端交互 客户端 网页 操作 请求相关代码: 这里为了适配 低版本浏览器 用的不是fetch 当然用fetch更好 var curUlr window.location.href; //获取当前网页地址var newURL curUlr.lastIndexOf("/");//截取到最后一个斜杠索引var pathUrl…

mysql 数据库空间统计sql

mysql 数据库空间统计 文章目录 mysql 数据库空间统计说明一、数据库存储代码二、查询某个数据库的所有表的 代码三、列出所有已经产生碎片的表总结 说明 INFORMATION_SCHEMA Table Reference 表参考 information_schema是‌MySQL中的一个特殊数据库&#xff0c;它存储了关于…

MLP多层感知机与Pytorch实现

参考文章&#xff1a; 1.动手学深度学习——多层感知机&#xff08;原理解释代码详解&#xff09;_多层感知机 代码-CSDN博客 2.4.1. 多层感知机 — 动手学深度学习 2.0.0 documentation 3.深度理解多层感知机&#xff08;MLP&#xff09; | 米奇妙妙屋 1. 神经网络由来 神经网…