计算机网络基础05-Web应用
1 Web最重要的构成基础
网页
网页互相连接
1.1 网页
网页包含多个对象
对象:HTML文件、图片文件、视频文件、动态脚本等
基本HTML文件:包含对其它对象引用的连接
1.2 对象的寻址
URL:统一资源定位器
格式:Scheme://host:port/path
Scheme是指协议,默认http协议可省略

2 Web应用遵循的协议HTTP(超文本传输协议)
采用的是C/S结构
3 Web应用使用的传输层协议是TCP

为什么采用无状态

4 HTTP的连接类型
HTTP依赖TCP来进行传输,HTTP连接类型分为两类,非持久型连接和持久型连接
4.1 非持久型连接
每个TCP连接最多允许传输一个对象,HTTP1.0使用的是非持久型连接
4.1.1 通信过程


4.1.2 响应时间分析和建模
1)RTT(Round Trid Time)
它是指从客户端发送一个很小的数据包到服务器并返回所经历的时间
2)响应时间(Response time)
发起、建立TCP连接:1个RTT
发送HTTP请求消息,到HTTP响应消息到达(不算请求和响应所含的文件对象的传输时间):1个RRT
响应中所含的文件/对象传输时间
响应时间= 2RTT + 文件发送时间

4.1.3 非持久型连接的缺点
每次TCP连接只能传输一个对象
每个对象都需要至少2个RTT时间
操作系统需要为每个TCP连接开销资源
浏览器会打开多个并行的TCP连接获取需要的对象资源,这样子会对服务器施加很大的压力
4.2 持久型连接
每个TCP连接允许传输多个对象
HTTP1.1默认使用持久型连接
4.2.2 通信过程
建立TCP连接,服务器响应后,不关闭TCP,后续可以继续发送HTTP消息
4.2.3 持久型连接类型1:无流水的持久型连接
客户端只有收到前一个响应的请求后才发送新的请求
每个被引用对象耗时1个RRT+对象传输时间
4.2.4 持久型连接类型2:带有流水机制的持久型连接
它是HTTP1.1的默认选项
客户端只要遇到一个引用对象就尽快发送请求
理想情况下,收到所有应用对象只需要1个RRT+对象传输时间
5 HTTP消息格式

6 Cooike
由于http是无状态的,为了标识用户,记录用户,创造了cookie
7 Web缓存/代理服务器技术
7.1 简介
在不访问服务器的前提下满足客户端的HTTP请求
7.2 特点
缩短客户端的请求时间
减少机构/组织的流量
大范围内实现有效的内容分发
7.3 基本原理

7.4 示例



7.5 缓存和实际的一致性问题
条件性GET方法

请求的时候会带上一个版本信息If-modified-since,申明所持有版本的日期,服务器判断缓存的版本是否是最新的,如果是,响应中不包含对象,不过不是,响应包含最新的对象
计算机网络基础05-Web应用的更多相关文章
- 转帖--计算机网络基础知识大总汇 https://www.jianshu.com/p/674fb7ec1e2c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
计算机网络基础知识大总汇 龙猫小爷 关注 2016.09.14 23:01* 字数 12761 阅读 30639评论 35喜欢 720 一.什么是TCP/IP 网络和协议 1. TCP/IP是 ...
- javaSE基础05
javaSE基础05:面向对象 一.数组 数组的内存管理 : 一块连续的空间来存储元素. Int [ ] arr = new int[ ]; 创建一个int类型的数组,arr只是一个变量,只是数组的一 ...
- J2EE基础之Web服务简介
J2EE基础之Web服务简介 1.什么是Web服务? 在人们的日常生活中,经常会查询网页上某城市的天气信息,这些信息都是动态的.实时的,它是专业的气象站提供的一种服务.例如,在网上购物时,通常采用网上 ...
- javascript基础05
javascript基础05 1.变量的作用域 变量既可以是全局,也可以是局部的. 全局变量:可以在脚本中的任何位置被引用,一旦你在某个脚本里声明了全局变量,你就可以 在这个脚本的任何位置(包括函数内 ...
- HTML5零基础学习Web前端需要知道哪些?
HTML零基础学习Web前端网页制作,首先是要掌握一些常用标签的使用和他们的各个属性,常用的标签我总结了一下有以下这些: html:页面的根元素. head:页面的头部标签,是所有头部元素的容器. b ...
- Spring基础系列-Web开发
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9996902.html SpringBoot基础系列-web开发 概述 web开发就是集成 ...
- 计算机网络基础——OSI七层网络模型
计算机网络基础——OSI七层网络模型 OSI的是什么: 开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称 ...
- Apache Shiro:【1】Shiro基础及Web集成
Apache Shiro:[1]Shiro基础及Web集成 Apache Shiro是什么 Apache Shiro是一个强大且易于使用的Java安全框架,提供了认证.授权.加密.会话管理,与spri ...
- socket编程之中的一个:计算机网络基础
在開始学习网络之前先复习下计算机网络基础吧. 鲁迅说,天下文章一大抄.看你会炒不会炒,基础知识就抄抄书吧. 一 分层模型 1 为什么分层 为了简化网络设计的复杂性.通讯协议採用分层结构.各层协议之间既 ...
- 零基础转行web前端,如何高效的去学习web前端
web前端开发要学的知识内容涉及的会很宽泛,虽然说主要是HTML.CSS和JavaScript这些基础知识点,但学前端开发除了要学这些基础知识外,学员还要在这之上进行延伸和深入的去学,而且互联网时代不 ...
随机推荐
- EntityFramework介绍
首先我们说明一下ORM是什么. 微软官方提供的ORM工具,ORM让开发人员节省数据库访问的代码时间,将更多的时间放到业务逻辑层代码上.开发人员使用Linq语言,对数据库操作如同操作Object对象 一 ...
- EventBridge助力阿里云视觉智能开放平台AI智能存储实践
本文作者:李建,阿里巴巴达摩院技术专家. 01 视觉智能开放平台(VIAPI)业务场景介绍 阿里云视觉智能开放平台(简称 VIAPI),是基于之前很多技术实践经验积累的 AI 能力的沉淀平台.目前整个 ...
- 备考CISP-PTE之文件上传
upload-labs 直接下载放到phpstudy打开即可. 第一关 查看源码,可以看到js代码定义了一个checkFile函数来对上传的文件进行后缀检查,只允许上传jpg.png.gif文件. f ...
- 读书笔记《A Philosophy of Software Design - John Ousterhout 软件设计哲学》
软件设计哲学这本书很薄,值得一读.这本书将大家平时碰到的很多软件问题从更深刻的层面进行了抽象分析,同时又给出了具体的解决方案.可以说既有理论高度,又能贴近实践. 但针对软件问题,这本书并没有提出太多与 ...
- codeforces补题计划
11.15 Codeforces Round #833 (Div. 2) 知识点: D:高位和对低位无影响 E:笛卡尔树上dp 补题传送门
- IDEA项目下out与target目录的区别详解
IDEA项目下out与target目录的区别详解 一.目录主要区别: out存放的是该项目下所有Module(模块)的编译结果. target存放的是单个Module的编译结果. 二.目录详解 out ...
- oracle 内置函数(二)字符函数
主要函数: 大小写转换函数 获取子字符串函数(字符串截取) 获取字符串长度函数 字符串连接函数 去除子字符串函数 字符替换函数 字符串出现次数 字符串按照特定符号拆分多行 一.大小写转换 1.uppe ...
- 微软出品自动化神器【Playwright+Java】系列(七) 之 元素的可操作性验证
前言 昨天在某平台发表了一篇这系列的文章,结果不但提示说有违禁词(java也算?),然后文章审核通过后,文章还找不到,不到去哪了,表示很郁闷,去反应未果,确实有点尴尬了. 元素的可操作性验证 关于AP ...
- Error: Could not get apiVersions from Kubernetes
问题 部署pod时遇到问题 # helm install chart.tgz Error: Could not get apiVersions from Kubernetes: unable to r ...
- vue3+ts 全局事件总线mitt
Mitt 在vue3中 $ on,$off 和 $once 实例方法已被移除,组件实例不再实现事件触发接口,因此大家熟悉的EventBus便无法使用了.然而我们习惯了使用EventBus,对于这种情况 ...