当前位置: 首页 > news >正文

为啥么有奖章

6.1 域名系统 DNS
应用层的许多协议都是基于客户服务器方式。即使是 P2P 对等通信方式,实质上也是一种特殊的客户服务器方式。这里再明确一下,客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。这里最主要的特征就是:客户是服务请求方,服务器是服务提供方。

6.1.1 域名系统概述
6.1.2 互联网的域名结构
6.1.3 域名服务器
图6-3 树状结构的 DNS 域名服务器

从图6-3 可看出,互联网上的 DNS 域名服务器也是按照层次安排的。每一个域名服务器都只对域名体系中的一部分进行管辖。根据域名服务器所起的作用,可以把域名服务器划分为以下四种不同的类型:

(1)根域名服务器(root name server):根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。虽然互联网的根域名服务器总共只有 13 个域名,但根域名服务器并非仅由 13 台机器所组成(如果仅仅依靠这 13 台机器,根本不可能为全世界的互联网用户提供令人满意的服务)。

(2)顶级域名服务器(即 TLD 服务器):这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。

(3)权限域名服务器:这就是前面已经讲过的负责一个区的域名服务器。

(4)本地域名服务器(local name server):本地域名服务器并不属于图6-3 所示的域名服务器层次结构,但它对域名系统非常重要。

下面简单讨论一下域名的解析过程。这里要注意两点。

第一,主机向本地域名服务器的查询一般都采用递归查询(recursive query)。

第二,本地域名服务器向根域名服务器的查询通常采用迭代查询(iterative query)。

6.2 文件传送协议
6.2.1 FTP 概述
基于 TCP 的 FTP 和基于 UDP 的简单文件传送协议 TFTP,它们都是文件共享协议中的一大类,即复制整个文件,其特点是:若要存取一个文件,就必须先获得一个本地的文件副本。如果要修改文件,只能对文件的副本进行修改,然后再将修改后的文件副本传回到原节点。

6.2.2 FTP 的基本工作原理
图6-5 FTP 使用的两个 TCP 连接

当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口 21(用作控制连接的),同时还要告诉服务器自己的另一个端口号码,用于建立数据传送连接。接着,服务器进程用自己传送数据的熟知端口 20(用于数据传输)与客户进程所提供的端口号建立数据传送连接。

6.2.3 简单文件传送协议 TFTP

6.3 远程终端协议 TELNET

6.4 万维网 WWW
6.4.1 万维网概述
万维网是一个分布式的超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充。

万维网以客户服务器方式工作。上面所说的浏览器就是在用户主机上的万维网客户程序。万维网文档所驻留的主机则运行服务器程序,因此这台主机也称为万维网服务器。 客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。在一个客户程序主窗口显示出的万维网文档称为页面(page)。

从以上所述可以看出,万维网必须解决以下几个问题:

(1)怎样标志分布在整个互联网上的万维网文档?

(2)用什么样的协议来实现万维网上的各种链接?

(3)怎样使不同作者创作的不同风格的万维网文档,都能在互联网上的各种主机上显示出来,同时使用户清楚地知道在什么地方存在着链接?

(4)怎样使用户能够很方便地找到所需的信息?

为了解决第一个问题,万维网使用统一资源定位符 URL (Uniform Resource Locator)来标志万维网上的各种文档,并使每一个文档在整个互联网的范围内具有唯一的标识符 URL。为了解决上述的第二个问题,就要使万维网客户程序与万维网服务器程序之间的交互遵守严格的协议,这就是超文本传送协议 HTTP (HyperText Transfer Protocol)。 HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。为了解决上述的第三个问题,万维网使用超文本标记语言 HTML (HyperText Markup Language),使得万维网页面的设计者可以很方便地用链接从本页面的某处链接到互联网上的任何一个万维网页面,并且能够在自己的主机屏幕上将这些页面显示出来。 最后,用户可使用搜索工具在万维网上方便地查找所需的信息。

6.4.2 统一资源定位符 URL

  1. URL 的格式

统一资源定位符 URL 是用来表示从互联网上得到的资源位置和访问这些资源的方法。

现在最常用的协议就是 http(超文本传送协议 HTTP),其次是 ftp(文件传送协议 FTP)。

  1. 使用 HTTP 的 URL

URL 的“协议”和“主机名”部分,字母不区分大小写。但“路径”中的字符有时要区分大小写。

6.4.3 超文本传送协议 HTTP

  1. HTTP 的操作过程

协议 HTTP/1.0 的主要缺点,就是每请求一个文档就要有两倍 RTT 的开销。

协议 HTTP/1.1 较好地解决了这个问题,它使用了持续连接(persistent connection)。所谓持续连接就是万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的 HTTP 请求报文和响应报文。协议 HTTP/1.1 的持续连接有两种工作方式,即非流水线方式(without pipelining)和流水线方式(with pipelining)。

协议 HTTP/2 是协议 HTTP/1.1 的升级版本,其 HTTP 方法/状态码/语义等都没有改变,其主要特点如下:

(1)HTTP/2 把服务器发回的响应变成可以并行地发回(使用同一个 TCP 连接),这就大大缩短了服务器的响应时间。

(2)HTTP/2 允许客户复用 TCP 连接进行多个请求,这样就节省了 TCP 连续多次建立和释放连接所花费的时间。

(3)HTTP/2 把所有的报文都划分为许多较小的二进制编码的帧,并采用了新的压缩算法,不发送重复的首部字段,大大减小了首部的开销,提高了传输效率。

HTTP/2 是向后兼容的。

  1. 代理服务器

  2. HTTP 的报文结构

  3. 在服务器上存放用户的信息

在 RFC 6265 中对 Cookie 进行了定义,规定万维网站点可以使用 Cookie 来跟踪用户。

6.4.4 万维网的文档

  1. 超文本标记语言 HTML

超文本标记语言 HTML (HyperText Markup Language)就是一种制作万维网页面的标准语言,它消除了不同计算机之间信息交流的障碍。但请注意, HTML 并不是应用层的协议,它只是万维网浏览器使用的一种语言。

  1. 动态万维网文档

上面所讨论的万维网文档只是万维网文档中最基本的一种,即所谓的静态文档(staticdocument)。静态文档在文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内容不会改变。

动态文档(dynamic document)是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建的。

  1. 活动万维网文档

6.4.5 万维网的信息检索系统
在万维网中用来进行搜索的工具叫做搜索引擎(search engine)。搜索引擎的种类很多,但大体上可划分为两大类,即全文检索搜索引擎和分类目录搜索引擎。

全文检索搜索引擎是一种纯技术型的检索工具。它的工作原理是通过搜索软件(例如一种叫做“蜘蛛”或“网络机器人”的 Spider 程序)到互联网上的各网站收集信息,找到一个网站后可以从这个网站再链接到另一个网站,像蜘蛛爬行一样。

分类目录搜索引擎并不采集网站的任何信息,而是利用各网站向搜索引擎提交网站信息时填写的关键词和网站描述等信息,经过人工审核编辑后,如果认为符合网站登录的条件,则输入到分类目录的数据库中,供网上用户查询。因此,分类目录搜索也叫做分类网站搜索。

6.4.6 博客和微博

  1. 博客

  2. 微博

每条微博字数最初限制为 140 英文字符,但现在已增加了“长微博”的选项,可输入更多的字符。

6.4.7 社交网站

6.5 电子邮件
6.5.1 电子邮件概述
一个电子邮件系统应具有图6-16 所示的三个主要组成构件,这就是用户代理、邮件服务器,以及邮件发送协议(如 SMTP)和邮件读取协议(如 POP3)。POP3 是邮局协议(Post Office Protocol)的版本3。凡是有 TCP 连接的,都经过了互联网,有的甚至可以跨越数千公里的距离。这里为简洁起见,没有画出网络。在互联网中,邮件服务器的数量是很大的。正是这些邮件服务器构成了电子邮件基础结构的核心。在图6-16 中为了说明问题,仅仅画出了两个邮件服务器。

图6-16 电子邮件的最主要的组成构件

互联网上有许多邮件服务器可供用户选用,邮件服务器24小时不间断地工作,并且具有大容量的邮件信箱。邮件服务器的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等)。邮件服务器按照客户服务器方式工作。邮件服务器需要使用两种不同的协议。一种协议用于用户代理向邮件服务器发起邮件或在邮件服务器之间发送邮件,如 STMP 协议,而另一种协议用于用户代理从邮件服务器读取邮件,如邮局协议 POP3。

6.5.2 简单邮件传送协议 SMTP
6.5.3 电子邮件的信息格式
6.5.4 邮件读取协议 POP3 和 IMAP
6.5.5 基于万维网的电子邮件
6.5.6 通过互联网邮件扩充 MIME

  1. MIME 概述

于是在这种情况下就提出了通用互联网邮件扩充 MIME[RFC 2045-2049,前三个文档是草案标准]。MIME 并没有改动或取代 SMTP。MIME 的意图是继续使用原来的邮件格式,但增加了邮件主体的结构,并定义了传送非 ASCII 码的编码规则。

MIME 主要包括以下三部分内容:

(1)5 个新的邮件首部字段,它们可包含在原来的邮件首部中。这些字段提供了有关邮件的主体信息。

(2)定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。

(3)定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变。

  1. 内容传送编码

  2. 内容类型

6.6 动态主机配置协议 DHCP
连接到互联网的计算机的协议软件需要配置的项目包括:

(1)IP 地址;

(2)子网掩码;

(3)默认路由器的 IP 地址;

(4)域名服务器的 IP 地址。

DHCP 使用客户服务器方式。需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文(DCHPDISCOVER)(将目的 IP 地址置为全 1,即255.255.255.255),这时该主机就成为 DHCP 客户。

当 DHCP 中继代理收到主机 A 以广播形式发送的发现报文后,就以单播方式向 DHCP 服务器转发此报文,并等待其回答。

图6-18 DHCP 中继代理以单播方式转发发现报文

图6-19 DHCP 协议的工作过程

下面按照图6-19 中的注释编号(①至⑨)进行简单的解释。

②DHCP 客户从 UDP 端口 68 发送 DHCP 发现报文。

6.7 简单网络管理协议 SNMP
6.7.1 网络管理的基本概念
图6-20 网络管理的一般模型

SNMP 的网络管理由三个部分组成,即 SNMP 本身、管理信息结构 SMI(Structure of Management Information)和管理信息库 MIB(Management Information Base)。

6.7.2 管理信息结构 SMI
6.7.3 管理信息库 MIB
6.7.4 SNMP 的协议数据单元和报文

6.8 应用进程跨越网络的通信
6.8.1 系统调用和应用编程接口
6.8.2 几种常用的系统调用

6.9 P2P 应用
6.9.1 具有集中目录服务器的 P2P 工作方式
6.9.2 具有全分布式结构的 P2P 文件共享程序
6.9.3 P2P 文件分发的分析
6.9.4 在 P2P 对等方中搜索对象

本章的重要概念

习题

相关文章:

为啥么有奖章

6.1 域名系统 DNS 应用层的许多协议都是基于客户服务器方式。即使是 P2P 对等通信方式,实质上也是一种特殊的客户服务器方式。这里再明确一下,客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被…...

【报错】Unbalanced delimiter found in string

Unbalanced delimiter found in string uniapp报错Unbalanced delimiter found in string 查看代码发现原来是粗心导致的。条件编译删漏了一条 hid.close()// #endif加上前面的条件编译 or减去后面的即可...

Python(一)关键字、内置函数

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

聊聊分布式架构10——Zookeeper入门详解

目录 01ZooKeeper的ZAB协议 ZAB协议概念 ZAB协议基本模式 消息广播 崩溃恢复 选举出新的Leader服务器 数据同步 02Zookeeper的核心 ZooKeeper 的核心特点 ZooKeeper 的核心组件 选举算法概述 服务器启动时的Leader选举 服务器运行期间的Leader选举 03ZooKeeper的…...

springmvc视图格式——模板引擎freemarker输出HTML文本

目录 1. freemarker 介绍创建测试工程2.2.2) 配置文件2.2.3) 创建模型类2.2.4) 创建模板2.2.5) 创建controller2.2.6) 创建启动类2.2.7) 测试 2.3) freemarker基础2.3.1) 基础语法种类2.3.2) 集合指令(List和Map)2.3.3) if指令2.3.4) 运算符2.3.5) 空值处…...

用长tree方式做等长线

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 相关文章链接: 用set_data_check的方式做等长线 前面讲过了如何用set_data_check做等长线,这里再讲一下如何用cts的方式做。 1)写一个sdc,把等长线的起点设置成clock source,用于创建create_…...

C# out参数out多个参数

文章目录 C# out参数out多个参数背景说明作用方法定义调用方法测试结果注意 C# out参数out多个参数 背景说明 一个方法返回多个相同数据类型的变量,可以采用数据的方式; 我需要返回多个不同数据类型的方法,在这里采用out多个参数的方式。 …...

选择Android还是IOS?我终于明白了!

选择Android还是iOS,取决于个人的喜好和需求。以下是一些可能帮助您做出决策的考虑因素: 用户界面和易用性: iOS系统的界面比Android更加简单、易用,而且应用程序布局更加一致,可以更快地学会如何使用。Android系统除了…...

uniapp高德地图ios 使用uni.chooseLocation选取位置显示没有搜索到相关数据

uniapp云打包后,高德地图ios选取位置显示“ 对不起,没有搜索到相关数据” 详细问题描述 废话不多说,直接上图 解决方案 1.打开高德地图开发平台 2.重新创建key 3.获取云打包时的ios报名作为安全码 4.使用生成的高德key更改manifest.json里…...

Python绘制论文中的图形

一、条形图 使用场景:对多个实验方法的性能进行比较。代码: #条形图 import matplotlib.pyplot as plt import numpy as np#实验数据,每一行代表一个method,每一列代表一个性能指标 dataacc [[0.9504, 0.9315, 0.9420, 0.9409]…...

flutter复制口令返回app监听粘贴板

overridevoid didChangeAppLifecycleState(AppLifecycleState state) {switch (state) {case AppLifecycleState.inactive: // 处于这种状态的应用程序应该假设它们可能在任何时候暂停。break;case AppLifecycleState.resumed: //从后台切换前台,界面可见handle();b…...

学习pytorch14 损失函数与反向传播

神经网络-损失函数与反向传播 官网损失函数L1Loss MAE 平均MSELoss 平方差CROSSENTROPYLOSS 交叉熵损失注意code 反向传播在debug中的显示code B站小土堆pytorch视频学习 官网 https://pytorch.org/docs/stable/nn.html#loss-functions 损失函数 L1Loss MAE 平均 import to…...

windows平台下Qt Creator的下载与安装流程

下载 下载地址:https://download.qt.io/archive/ 下载界面 进入qt或者qtcreator都可以 版本选择 这里我选择进入qt进行下载,进入之后有多个版本可以选择。 注意:从Qt5.15版本开始,Qt公司不在提供开源离线安装程序,此…...

在 Python 中使用 Pillow 进行图像处理【3/4】

第三部分 一、腐蚀和膨胀 您可以查看名为 的图像文件dot_and_hole.jpg,您可以从本教程链接的存储库中下载该文件: 该二值图像的左侧显示黑色背景上的白点,而右侧显示纯白色部分中的黑洞。 侵蚀是从图像边界去除白色像素的过程。您可以通过使用…...

【Java】迭代器的next方法

Collection 集合的遍历 概述&#xff1a;Iteration&#xff1a;迭代器&#xff0c;集合的专用遍历方式 Iterator<E> Iterator() 返回在此 collection 的元素上进行迭代的迭代器boolean hasNext() 如果返回仍有元素可以迭代&#xff0c;则返回 trueE next() 返回迭代的下一…...

java智慧工地云平台源码,以物联网、移动互联网技术为基础,结合大数据、云计算等,实现工程管理绿色化、数字化、精细化、智能化的效果

智慧工地将更多人工智能、传感技术、虚拟现实等高科技技术植入到建筑、机械、人员穿戴设施、场地进出关口等各类物体中&#xff0c;围绕人、机、料、法、环等各方面关键因素&#xff0c;彻底改变传统建筑施工现场参建各方现场管理的交互方式、工作方式和管理模式&#xff0c;智…...

Unity 通过jar包形式接入讯飞星火SDK

最近工作上遇到了要接入gpt相关内容的需求&#xff0c;简单实现了一个安卓端接入讯飞星火的UnitySDK。 或者也可以接入WebSocket接口的。本文只讲安卓实现 我使用的Unity版本为2021.3.27f1c2 Android版本为4.2.2 1.下载SDK 登陆讯飞开放平台下载如图所示SDK 2.新建安卓工程…...

python轻量规则引擎rule-engine入门与应用实践

rule-engine是一种轻量级、可选类型的表达式语言&#xff0c;具有用于匹配任意 Python 对象的自定义语法&#xff0c;使用python语言开发。 规则引擎表达式用自己的语言编写&#xff0c;在 Python 中定义为字符串。其语法与 Python 最相似&#xff0c;但也受到 Ruby 的一些启发…...

栓Q八股文: C++ 14/17 新特性

C 14 翻译&#xff1a; 【翻译】C14的新特性简介-腾讯云开发者社区-腾讯云 C 17翻译&#xff1a;【翻译】C17的新特性简介-腾讯云开发者社区-腾讯云 原理&#xff1a;C Lambda 原理和编译器实现_clamda实现原理-CSDN博客...

虚拟世界游戏定制开发:创造独一无二的虚拟体验

在游戏开发领域&#xff0c;虚拟世界游戏定制开发是一项引人注目的任务&#xff0c;旨在满足客户独特的需求和愿景&#xff0c;创造一个完全个性化的虚拟世界游戏。这种类型的游戏开发需要专业的技能、深刻的游戏开发知识和密切的与客户合作&#xff0c;以确保游戏满足客户的期…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

前端调试HTTP状态码

1xx&#xff08;信息类状态码&#xff09; 这类状态码表示临时响应&#xff0c;需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分&#xff0c;客户端应继续发送剩余部分。 2xx&#xff08;成功类状态码&#xff09; 表示请求已成功被服务器接收、理解并处…...