计算机网络基础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这些基础知识点,但学前端开发除了要学这些基础知识外,学员还要在这之上进行延伸和深入的去学,而且互联网时代不 ...
随机推荐
- Shell脚本--信号发送与捕捉
信号(Signal):信号是在软件层次上对中断机制的一种模拟,通过给一个进程发送信号,执行相 应的处理函数. 进程可以通过三种方式来响应一个信号: 忽略信号,即对信号不做任何处理,其中有两个信号不能忽 ...
- ubuntu等debian系linux系统添加人脸识别howdy
准备 proxychains proxychains是用来给终端走代理的软件,因为下载howdy的时候有一部分的文件的服务器在国外,且被墙了. 安装proxychains sudo apt insta ...
- vscode,java中文乱码
1.vscode默认是utf-8,但最好再打开自动检测 2.在vscode设置里搜 auto guess,启用auto guess encoding 3.windows默认的是gbk,在windows ...
- 7 STL-deque
重新系统学习c++语言,并将学习过程中的知识在这里抄录.总结.沉淀.同时希望对刷到的朋友有所帮助,一起加油哦! 生命就像一朵花,要拼尽全力绽放!死磕自个儿,身心愉悦! 写在前面,本篇章主要介绍S ...
- 通过启动脚本控制PHP-FPM开关
vi /etc/init.d/php-fpm 复制粘贴以下内容: #! /bin/sh# Comments to support chkconfig on CentOS# chkconfig: 234 ...
- Blazor Server完美实现Cookie Authorization and Authentication
Blazor server-side application用Microsoft.AspNetCore.Identity.EntityFrameworkCore实现Authorization 和 Au ...
- latex 中添加Springer LNCS 模板的\bibitem{}格式参考文献方法
1.将需要引用的参考文献新建为.bib格式,例如referencesTest.bib文件,具体如下: 新建txt文件,后缀名改为.bib: 然后打开谷歌学术,搜索参考文献, 点击导入BibTeX,具体 ...
- Java单例模式的最佳实践?
"读过书,--我便考你一考.茴香豆的茴字,怎样写的?"--鲁迅<孔乙己> 0x00 大纲 目录 0x00 大纲 0x01 前言 0x02 单例的正确性 new关键字 c ...
- 持续发烧,聊聊Dart语言的并发处理,能挑战Go不?
前言 貌似关于Dart的文章没流量啊,就算在小编关怀上了首页,看得人还是很少的. 算了,今天持续发烧,再来写写如何使用 Dart 语言的并发操作.说起并发操作,玩 Go 的同学该笑了,这就是我们的看家 ...
- 微信小程序地区和location_id对应关系
点击查看代码 location_list = [ {'location_id': '101010100', 'location_name': ['北京', '北京', '北京']}, {'locati ...