应用层(Web与HTTP)

news2024/11/10 13:38:47

目录

常见术语

1.HTTP概况

2.HTTP连接

非持久HTTP流程

响应时间模型

持久HTTP

3.HTTP报文

3.1HTTP请求报文

3.2HTTP响应报文

HTTP响应状态码

4.Cookies(用户-服务器状态)

cookies:维护状态

Cookies的作用

5.Web缓冲(代理服务器)

缓存示例

缓存示例:使用带宽更大的链路

缓存示例:安装本地缓存

条件GET方法


常见术语

  • Web页面:由一些对象组成
  • 对象可以是HTML文件、JPEG图像、Java小程序、声音剪辑文件等
  • Web页面包括一个基本的HTML文件,该基本HTML文件又包括若干对象的引用(链接)
  • 通过URL对每个对象进行引用
    • 访问协议、用户名、口令字、端口等等
  • URL格式

1.HTTP概况

HTTP:超文本传输协议(Hypertext Transfer Protocol)

  • Web的应用层协议
  • 客户/服务器模式
    • 客户:请求、接收和显示Web对象的浏览器
    • 服务器:对请求进行响应,发送对象的Web服务器

使用TCP协议

  • 客户端发起一个与服务器的TCP连接(建立socket),端口号为80
  • 服务器接收客户端的TCP连接
  • 客户端与服务器交换HTTP报文(应用层协议报文)
  • TCP连接关闭

HTTP是无状态的

  • 服务器不维护关于客户端的任何信息

2.HTTP连接

非持久HTTP

  • 只有一个对象在TCP连接上发送
  • 下载多个对象需要多个TCP连接
  • HTTP/1.0使用非持久连接

持久HTTP

  • 多个对象可以在一个TCP连接是传输
  • HTTP/1.1默认使用T持久连接

非持久HTTP流程

响应时间模型

持久HTTP

非持久HTTP的缺点

  • 每个对象要2个RTT
  • 操作系统必须为每个TCP连接分配资源
  • 浏览器通常并行打开TCP连接(同一时间建立多个TCP连接),以获取引用对象

持久HTTP

  • 服务器在发送响应之后,任然保持TCP连接
  • 在相同客户端和服务器之间的后续请求和响应报文通过相同的连接进行传输
  • 客户端在遇到一个引用对象的时候,就可以尽快发送该对象的请求

非流水方式的持久HTTP

  • 客户端只能在收到一个响应之后才可以发出新的请求
  • 每个引用对象花费一个RTT

流水方式的持久RTT

  • HTTP/1.1的默认模式
  • 客户端遇到一个引用对象就立即产生一个请求
  • 所有引用对象只花费一个RTT是可能的

3.HTTP报文

3.1HTTP请求报文

  • 两种类型的HTTP报文:请求、响应

HTTP请求报文

  • ASCII(人能阅读)

HTTP请求报文:通用格式


提交表单输入

方法类型

3.2HTTP响应报文

HTTP响应状态码

4.Cookies(用户-服务器状态)

大多数的门户网站主要使用的就是cookies

cookies的4个组成部分:

  1. 在HTTP响应报文中有一个cookie的首部行
  2. 在HTTP请求报文中有一个cookie的首部行
  3. 在用户端系统中保留有cookie文件,由用户的浏览器管理
  4. 在Web站点有一个后端数据库

cookies:维护状态

Cookies的作用

cookies能带来什么

  • 用户验证
  • 购物车
  • 推荐
  • 用户状态

cookies如何维护状态

  • 协议端节点:在多个事务上,发送端和接收端维持状态
  • cookies:http报文携带状态信息

5.Web缓冲(代理服务器)

目标:不使用原始服务器,就满足客户的需求

  • 用户设置浏览器:通过缓存访问Web
  • 浏览器将所有的请求发给缓存
    • 存在缓存中的对象,直接返回该对象
    • 如果缓存中不存在该对象,缓存请求原始服务器,然后再将对象返回给客户端
  • 缓存既是客户端又是服务器
  • 通常缓存是由ISP按照(大学、公司、居民区ISP)

为什么要使用Web缓存?

  • 降低客户端的请求响应时间
  • 大大减少一个机构内部网络与Internet接入链路的流量
  • 使用较弱的ICP也能够有效提供内容

缓存示例

缓存示例:使用带宽更大的链路

缓存示例:安装本地缓存

条件GET方法

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

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

相关文章

CDGA|数据治理:构建高效数据管理体系的实践路径

在当今数字化时代,数据已成为企业最宝贵的资产之一,其质量、安全性和有效利用率直接影响着企业的决策能力、运营效率和市场竞争力。因此,数据治理作为确保数据质量、促进数据价值最大化的关键环节,其重要性日益凸显。本文将从几个…

UE4_地形_悬崖拉伸的解决

参考教程 【虚幻5】UE5_UE4_解决悬崖地形贴图拉伸_哔哩哔哩_bilibili 纹理处理 | 虚幻引擎 4.27 文档 | Epic Developer Community (epicgames.com) 主要通过蓝图节点解决:WorldAlignedTexture WorldAlignedTexture(全局一致纹理)函数用于…

【自用19.1】C++构造函数

构造函数的作用 在创建一个新的对象时,自动调用的函数,用来进行“初始化”工作: 对这个对象内部的数据成员进行初始化。 构造函数的特点 自动调用(在创建新对象时,自动调用)构造函数的函数名&#xff0c…

乐凡三防|国产化浪潮下的三防平板

在当前的科技环境下,国产化成为了一个热门话题,尤其在三防平板领域,国产化不仅意味着技术的自给自足,更是国家信息安全与产业自主可控的重要体现。三防平板,即具备防水、防尘、防震功能的平板电脑,其全国产…

02-数组

概述 数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成,一旦声明了,数组的长度就固定了,不能动态变化。 len() 和 cap() 返回结果始终一样。 声明数组 package mainimport ("fmt" )f…

【算法专场】模拟(上)

目录 ​前言 模拟算法 1576. 替换所有的问号 495. 提莫攻击 1688. 比赛中的配对次数 6. Z 字形变换 前言 我们在有时候会看到刷题网站上面看到一些已经把题意讲的很明确的题目,并且一般这种不怎么需要利用那些复杂的算法,只需要我们按照着题目的意…

宝藏!《联盟现代控制特训班题库》(麒麟篇) 习题部分:甄选内容

本文内容,全部选自联盟自动化考研联盟企业店( 店)的:初试《现代控制特性班题库》(麒麟篇),分为讲义和习题两个部分,本文为习题部分的甄选内容,一本书帮你学透现控。 目录 Part1:资料封面&目录 习题部…

Kafka大厂面试14问(附答案)

怎么保证顺序消费? 同一个生产者发送到同一分区的消息,先发送的比后发送的offset要小。同一生产者发送到不同分区的消息,消息顺序无法保证。 怎么解决这个问题? 给一个topic只设置一个分区 相同key会发给一个分区 怎么保证幂…

python常用的列表,元组,字符串,集合,字典的应用方法

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6049c6f7ca2d4a0ca4911562dea7a8cd.png 素材内容来自——黑马程序员

【Altium Designer程序开发】生成XML多级数据库文件 V2.0

此工具用于生成多级多节点的XML数据库文件,主要功能用于测试XML文件的生成速度的,运行环境在Altium Designer中,可用于Altium Designer全系列的版本中。 程序界面如下图所示,每一级节点表示每个父Node的子Node的数量,节…

FRP内网穿透与神卓互联,优势对比

本文介绍分析了当前市面上两款常用的内网穿透工具 frp内网穿透介绍 一、概述 frp(Fast Reverse Proxy)是一款高性能的反向代理应用,主要用于实现内网穿透功能。通过frp,用户可以将内网中的服务器或服务暴露到公网上,…

跨境电商运营解决方案:反向代购系统物流集运一体化

跨境电商两种模式,一种是国外商品卖到国内,海淘代购。另一种是国内商品卖到国外,也叫反向代购。 什么是反向代购 反向代购是近年兴起的一种购物模式,是帮国外客户购买中国商品。主要是通过外贸代购系统,把淘宝、天猫…

AEC-Q100车规芯片验证

AEC-Q100是汽车电子协会(Automotive Electronics Council,简称AEC)制定的车规级芯片验证标准,它主要针对车载应用的集成电路产品所设计的一套应力测试标准,旨在通过严格的测试流程,确保芯片在复杂多变的汽车环境下具备高可靠性、高安全性和高稳定性。 验证流程 定义规格:…

哪款清理猫咪浮毛效果好?希喂、霍尼韦尔、美的宠物空气净化器PK

最近在宠物领域,宠物空气净化器的讨论热度很高,不少铲屎官们都有购买的意向。身为三猫孩子的家长,养宠以来市面上所有的猫毛清理工具我都用过,这种新兴产品肯定也不会错过。我结合自身情况和预算,对市面上的品牌进行筛…

UI自动化-元素动作WebElement源码类

UI自动化设计元素动作所用到的源码是WebElement源码类 其中用的最多的为前9个,后续是前端开发时常用 webelement源码类 元素动作都是webelement源码类中 1、往输入框里输入内容,元素单击后输入内容:key的值是要查找的值 获取标签的名称 tagn…

【Linux网络编程】协议|OSI模型|TCP/IP模型|局域网通信|跨网络通信|地址管理|流程图

目录 ​编辑 一,协议 协议分层 二,OSI七层模型 三,TCP/IP五层(或四层)模型 TCP/IP各个层次一些名词解释 为什么要有TCP/IP协议 TCP/IP协议栈与操作系统的宏观关系示意图 四,网络传输基本流程 局…

华为云征文|Flexus云服务X实例使用,宝塔的安装,利用宝塔安装Java、NGINX,Redis,Python,快速搭建开发环境

引出 4核12G-100G-3M规格的Flexus X实例使用测评第4弹:Flexus云服务X实例使用,宝塔的安装,利用宝塔安装Java、NGINX,redis,Python,快速搭建开发环境 什么是Flexus云服务器X实例 官方解释: Fl…

openharmony历程一:安装ubuntu20.04

1.下载ubuntu20.04 官网下载 下拉选择 可使用镜像: 镜像 2.安装 本人使用vmware,其他的如virtualbox也差不多 选择自定义和下一步 我使用的是r5 5600H,只有12核。 由于后面用于鸿蒙安装,推荐内存16GB及以上,硬盘100GB及…

L1-100 四项全能

作者 陈越 单位 浙江大学 新浪微博上有一个帖子给出了一道题:全班有 50 人,有 30 人会游泳,有 35 人会篮球,有 42 人会唱歌,有 46 人会骑车,至少有( )人四项都会。 发帖人不会做这道…

【原创教程】电气电工15:线槽导轨

电气电工这些知识点,我们描述的比较细,虽然看起来比较简单,但是它是后面我们技能提升的基础,如果我们后面学电气工程师相关知识,这些都属于基本功。 接着我们来看一下线槽导轨。 线槽又名走线槽、配线槽、行线槽(因地方而异),是用来将电源线、数据线等线材规范的整理…