计网Lesson19 - 应用层之WWW

文章目录

  • 1. 应用层概念
    • 1.1 应用层协议的定义
  • 2. 应用层体系结构
    • 2.1 客户/服务器模式
    • 2.2 P2P模式(点对点方式)
  • 3. 万维网
    • 3.1 概述
    • 3.2 统一资源定位符
    • 3.3 万维文档
      • HTML
      • CSS
      • JavaScript



1. 应用层概念

  • 应用层是计算机网络体系结构的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分。包括:
    • 早期基于文本的应用(电子邮件、远程登录、文件传输、新闻组),20世纪90年代将因特网带入千家万户的万维网WWW,当今流行的即时通信、P2P文件共享及各种音视频应用。
  • 因特网和万维网的关系:
    • 因特网:一种把各个网络联系起来的网络,主要由许多计算机和电缆组成,基于TCP/IP。
    • 万维网:一个由许多互相链接的超文本组成的系统,通过互联网访问。
    • 简单来说,万维网是互联网的一个实例。也就是说,万维网是建立在因特网之上的一种网络服务,它通过超文本链接和浏览器使我们能够方便地访问互联网上的信息。而因特网则是一个全球性的网络基础设施,它连接了世界各地的计算机和网络。

在这里插入图片描述

1.1 应用层协议的定义

  应用层协议 (application layer protocol) 定义了在不同端系统上应用程序是如何相互传输报文的。⼀般来说,应用层协议会规定如下内容:

  • 交换的报文类型交换的是请求报文还是响应报文。
  • 报文字段的解释:对报文中各个字段的详细描述。
  • 报文字段的语义:报文各个字段的含义是什么。
  • 报文交换时间、方式:程序何时、以什么方式发送报文以及响应。

 应用层只关心数据的产生和使用,是一个逻辑层,并不关心数据的传输。
 应用层共有两种层次结构。

2. 应用层体系结构

  应用层体系结构 (Application Architecture) 定义了应用层端系统之间数据交换的方式,开发⼀种新的网络应用,首先要考虑的问题就是网络应用程序在各种端系统上的组织方式和它们之间的关系⼀般来说,主流的体系结构有两种:

  • 客户-服务器体系结构 (client-server architecture)
  • 对等体系结构 (P2P architecture)

2.1 客户/服务器模式

在C/S模式中,分为请求方和服务方。有一个一直打开的主机向称为服务器(Sever)给客户端提供服务。客户端会向服务端发送请求,服务器对请求做出相应。

  • 体系特点
    ○ 客户和服务器是指通信中所涉及的两个应用进程。
    ○ 客户/服务器方式所描述的是进程之间服务和被服务的关系。
    ○ 客户是服务请求方,服务器是服务提供方。
    ○ 服务器总是处于运行状态,并等待客户的服务请求。

在这里插入图片描述
我们最常⻅的服务端就是Web服务器,Web服务器提供于来自浏览器的请求。我们日常访问百度、
谷歌,其实就是在访问它们的Web服务器。

这里有两点需要注意:

  • 在客户 - 服务器模式下,通常客户彼此之间是并不互相通信的。
  • 服务器通常具有固定的、周知的 IP 地址可以提供访问。

所以说,浏览器是一个客户端,发送、接收信息,然后解析数据再渲染在网页上,是一个非常强大的工具。

2.2 P2P模式(点对点方式)

在此方式中,没有固定的服务请求者和提供者,应用程序的使用者是对等的,称为“对等方”,大家彼此分享所需资源,都是服务提供者。

在这里插入图片描述
P2P ⼀个最⼤的特点就是扩展性 (self-scalability),因为 P2P ⽹络的⼀个重要的⽬标就是让所有
的客户端都能提供资源、获取资源,共享带宽,存储空间等。因此,当有更多节点加⼊且对系统请求增多,整个系统的容量也增⼤。这是具有⼀组固定服务器的客户 - 服务器结构不具备的,这也就是 P2P的 优势。P2P⽅式具有成本上的优势,因为它通常不需要庞⼤的服务器设置和服务器带宽。为了降低成本,服务提供商对于将P2P⽅式⽤于应⽤的兴趣越来越⼤。

3. 万维网

3.1 概述

万维网(World Wide Web,WWW)并非某种网络,而是以因特网为基础的分布式应用,通过Web浏览器与Web服务器交互获取文本内容。万维网利用网页之间的超链接将不同网站的网页链接成⼀张逻辑上的信息⽹。

在这里插入图片描述

3.2 统一资源定位符

URI (Uniform Resource Identifier) 中⽂名称是统⼀资源标识符,使⽤它就能够唯⼀地标记互联⽹上资源。
URL (Uniform Resource Locator) 中⽂名称是统⼀资源定位符,也就是我们俗称的⽹址,它实际上是URI 的⼀个⼦集。
URI不仅包括URL,还包括URN(统⼀资源名称),它们之间的关系如下:
在这里插入图片描述
URI 已经不局限于标识互联⽹资源,它可以作为所有资源的识别码。URL的⼀般形式由以下四个部
分组成:
在这里插入图片描述

3.3 万维文档

HTML

超文本标记语言,用来搭建网页的架子。

CSS

层叠样式表 (Cascading Style Sheets,CSS),用来渲染网页。

JavaScript

脚本语言,控制网页行为,做一些动态效果。

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

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

相关文章

USACO 2023 December, SilverProblem 1. Bovine Acrobatics题解

有n件物品,m组叠罗汉,相邻罗汉差值至少为k。 第i件物品的重量和数量 由于m最大范围为1e9,开辟m组罗汉槽存储罗汉值,内存空间不够。 分析样例: 3 5 2 9 4 7 65 5 一开始我想的是层数,但是一层中存在数据…

初学Vue——Vue路由

0 什么是Vue路由 类似于Html中的超链接(<a>)一样&#xff0c;可以跳转页面的一种方式。 前端路由&#xff1a;URL中hash(#号之后的内容)与组件之间的对应关系&#xff0c;如下图&#xff1a; 当我们点击左侧导航栏时&#xff0c;浏览器的地址栏会发生变化&#xff0c;路…

【Prometheus】k8s集群部署node-exporter

​ 目录 一、概述 1.1 prometheus简介 1.2 prometheus架构图 1.3 Exporter介绍 1.4 监控指标 1.5 参数定义 1.6 默认启用的参数 1.7 prometheus如何收集k8s/服务的–三种方式收集 二、安装node-exporter组件 【Prometheus】概念和工作原理介绍-CSDN博客 【云原生】ku…

借助 Terraform 功能协调部署 CI/CD 流水线-Part2

在第一部分的文章中&#xff0c;我们介绍了3个步骤&#xff0c;完成了教程的基础配置&#xff1a; 使用 Terraform 创建 AWS EKS Infra在 EKS 集群上部署 ArgoCD 及其依赖项设置 Bitbucket Pipeline并部署到 ECR Repo 本文将继续完成剩余的步骤&#xff0c;以实现 Terraform 编…

windows下pytorch的dataloader多进程(num_workers)问题,为何num_workers的值只能为0?

问题背景介绍 本人是windows系统&#xff0c;在使用torch.utils.data.Dataloader加载torchvision中的数据集时&#xff0c;将其中的形参num_workers设置为了大于0的数&#xff0c;然后出现以下错误。 原因 在 Windows 系统下&#xff0c;num_workers 参数在使用 PyTorch 的 t…

做58代运营到底有没有效果?

58同城代运营有没有效果&#xff0c;其实还是取决于你的产品、预算和想要达到的效果。比如&#xff0c;你是希望通过代运营做出品牌效应&#xff0c;还是希望提升销量&#xff1f;代运营能够带来的效果&#xff0c;主要是咨询和品牌推广&#xff0c;这两个都可以量化&#xff0…

解决Iterm2升级后遇到“Stashed changes“的问题

&#xff1c;&#xff1c;&#xff1c;&#xff1c;&#xff1c;&#xff1c;&#xff1c; Updated upstream ...... &#xff1e;&#xff1e;&#xff1e;&#xff1e;&#xff1e;&#xff1e;&#xff1e; Stashed changes冲突标记符的代码如题&#xff0c;最近有升级Item2…

终于搞懂lSTM的原理了

LSTM简介 一个目前很火的特殊的RNN结构&#xff0c; 有效解决了RNN的梯度爆炸和长序列记忆问题 优势 LSTM 通过引入遗忘门、输入门、输出门&#xff0c; 来实现对特殊特征的记忆和遗忘&#xff0c;来达到更好的对序列数据的处理和记忆效果。 原理图&#xff1a; 总结公式…

校园小情书微信小程序源码 | 社区小程序前后端开源 | 校园表白墙交友小程序

项目描述&#xff1a; 校园小情书微信小程序源码 | 社区小程序前后端开源 | 校园表白墙交友小程序 功能介绍&#xff1a; 表白墙 卖舍友 步数旅行 步数排行榜 情侣脸 漫画脸 个人主页 私信 站内消息 今日话题 评论点赞收藏 服务器环境要求&#xff1a;PHP7.0 MySQL5.7 效果…

Java设计模式-策略模式

策略模式1 概述2 结构3 案例实现4 优缺点5 使用场景6 JDK源码解析 策略模式 1 概述 先看下面的图片&#xff0c;我们去旅游选择出行模式有很多种&#xff0c;可以骑自行车、可以坐汽车、可以坐火车、可以坐飞机。 作为一个程序猿&#xff0c;开发需要选择一款开发工具&#x…

CircuitBreaker断路器(服务熔断,服务降级)

分布式系统面临的问题: 复杂分布式体系结构中的应用程序有数十个依赖关系&#xff0c;每个依赖关系在某些时候将不可避免地失败。 1.服务雪崩 多个微服务之间调用的时候&#xff0c;假设微服务A调用微服务B和微服务C&#xff0c;微服务B和微服务C又调用其它的微服务&#xff…

PyCharm无代码提示解决

PyCharm无代码提示解决方法 在使用PyCharm工具时&#xff0c;调用方法却无法进行提示&#xff0c;针对PyCharm无代码提示整理下解决方案 1、Python内置语法无智能提示 复现&#xff1a;我这里以urllib库读取网页内容为例&#xff0c;在通过urlopen(&#xff09;之后调用getur…

Tomcat Web 开发项目构建教程

1下载Tomcat安装包&#xff0c;下载链接&#xff1a;Apache Tomcat - Welcome!&#xff0c;我电脑环境为JDK8,所以下载Tomcat9.0 2、下载完压缩包后&#xff0c;解压到指定位置 3.在intelij中新建一个项目 4.选中创建的项目&#xff0c;双击shift&#xff0c;输入add frame...然…

C语言实现贪吃蛇

前言&#xff1a;今天给大家详细介绍一下小游戏贪吃蛇的代码。 目录 一 .贪吃蛇实现的功能 二.贪吃蛇游戏设计与分析 1.贪吃蛇以及贪吃蛇所需要维护的数据 &#xff08;1&#xff09;贪吃蛇蛇体 &#xff08;2&#xff09;数据维护 2.地图设计 &#xff08;1&#x…

three.js 按键W前进、S退后、A左转、D右转运动

效果&#xff1a;W 键 前进&#xff1b;S 键后退&#xff1b;A 键左转&#xff1b;D 键右转&#xff1b;使用了 tween.js 动画库&#xff1b; 代码&#xff1a; <template><div><el-container><el-main><div class"box-card-left">&…

如何利用AWS CloudFront 自定义设置SSL

Amazon CloudFront 提供三种选项&#xff0c;可以加速整个网站并从 CloudFront 的边缘站点通过安全的 HTTPS 方式交付内容。除能够安全地从边缘站点交付内容外&#xff0c;您还可以配置 CDN 来使用针对源提取的 HTTPS 连接&#xff0c;这样您的数据就会实现从源到最终用户的端到…

仿牛客网项目---项目总结

本篇文章是对整个项目的一个总结。下面这张图要好好理解。 整个项目都是构建在SpringBoot之上的&#xff0c;所以把它画到最底下&#xff0c;其它技术依托在springboot之上。但是springboot并不是技术的核心&#xff0c;而只是起到了一个辅助的作用&#xff0c;它的作用仅仅是降…

vue之性能优化

1.路由懒加载 所谓路由懒加载&#xff0c;其实就是路由通过import动态引入&#xff0c;而不是在文件最上面一个个全部引入&#xff0c;因为JS执行的时候会优先执行引入的文件&#xff0c;如果一次性引入过多&#xff0c;则会增加处理时长。 2.图片懒加载 图片在网页加载过程…

svg简单教程

推荐查看这个视频 一小时讲完SVG 简介 scalable 英 /ˈskeɪləbl/ 美 /ˈskeɪləbl/ adj. &#xff08;计算机&#xff09; 可扩展的&#xff1b;可改变大小的&#xff0c;可缩放的&#xff1b;可攀登的&#xff1b;可称量的&#xff1b;可去鳞的 vector 英 /ˈvektə/ 美…

搭建prometheus、grafana监控平台

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一波电子书籍资料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虚拟机》&#xff0c;《重构改善既有代码设计》&#xff0c;《MySQL高性能-第3版》&…