计算机网络:应用层_第1页
计算机网络:应用层_第2页
计算机网络:应用层_第3页
计算机网络:应用层_第4页
计算机网络:应用层_第5页
已阅读5页,还剩144页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

应用层北航软件学院王海泉

whq@

2025/4/11计算机网络讲义2主要内容基本概念DNS域名服务SMTP&POP3协议HTTP协议基本概念2025/4/11计算机网络讲义3直接为用户提供服务应用进程:为了解决具体的应用问题而相互通信的进程运行在连网主机的用户空间(UserSpace)思考1:TCP/IP协议栈运行在哪?思考2:在一个系统中如何标识进程?应用协议应用进程在通信时所遵循的规则、标准与约定定义了应用双方交换的消息格式及相应的动作进程间通信同一主机内的两个进程:由OS提供的进程间通信机制如PIPE,FIFO,共享内存,信号量等不同主机上进程间的通信:应用协议思考3:在不同系统中进程如何标识?2025/4/11计算机网络讲义4Applicationfiletransfere-mailWebdocumentsreal-timeaudio/videostoredaudio/videointeractivegamesfinancialappsDatalossnolossnolossnolossloss-tolerantloss-tolerantloss-tolerantnolossBandwidthelasticelasticelasticaudio:5Kb-1Mbvideo:10Kb-5MbsameasabovefewKbpsupelasticTimeSensitivenononoyes,100’smsecyes,fewsecsyes,100’smsecyesandno不同应用所需的传输服务:丢包,带宽及时延2025/4/11计算机网络讲义5传输层提供的服务TCPservice:connection-oriented:setuprequiredbetweenclient,serverreliabletransportbetweensendingandreceivingprocessflowcontrol:senderwon’toverwhelmreceivercongestioncontrol:throttlesenderwhennetworkoverloadeddoesnotproviding:delayguarantees,minimumbandwidthguaranteesUDPservice:unreliabledatatransferbetweensendingandreceivingprocessdoesnotprovide:connectionsetup,reliability,flowcontrol,congestioncontrol,timing,orbandwidthguarantee2025/4/11计算机网络讲义6应用及所用传输层协议应用电子邮件远程登录Web文件传输流媒体应用文件共享网络管理应用协议SMTP[RFC821]TELNET[RFC854]HTTP[RFC2068]FTP[RFC959]proprietary(e.g.RealNetworks)NFSSNMP所采用的传输协议TCPTCPTCPTCPTCPorUDPTCPorUDPUDP2025/4/11计算机网络讲义7网络应用模型每个应用层协议都是为了解决某一类应用问题,解决问题的过程要求若干个位于不同主机的进程相互协同;应用层规定的就是这些相互协同的进程在通信时所遵守的协议;根据进程在协同工作时的作用划分为客户/服务器模型P2P模型2025/4/11计算机网络讲义8客户/服务器模型Client/Server模型基本概念参与协同工作的进程往往是两个(而不是多个)。客户/服务器模型是传统计算机网络应用的基础。客户/服务器分别指参与一次通信的两个应用实体,客户方是应用服务的请求者,服务器是应用服务的提供者。服务的标识:端口,协议,(110/TCP)UNIX:/etc/services2025/4/11计算机网络讲义9P2P计算模型计算机网络

因特网Internet网络的基础结构:1、集中式:C/S=Client/Server

--好:管理简单,控制有效

--坏:Server瓶颈2、分布式:Distributed

--好:无瓶颈,资源充分利用

--坏:管理松散,难于控制

P2P=分布式的极端(since1956年)自由平等互联2025/4/11计算机网络讲义10P2P计算模型参与一次应用服务的进程往往是位于不同主机上的多个进程;参与协同的进程在地位/功能上对等(peertopeer);是一种典型的分布式计算模型。2025/4/11计算机网络讲义11P2P计算模型传统的C/S结构缺陷:成本高、效率低、服务器压力大P2P(对等网络)系统优势:充分利用分布在终端电脑上的边缘性网络资源,包括计算资源、带宽资源、内容资源等,以降低对中央服务器资源的消耗需求。2025/4/11计算机网络讲义12C/S结构VSP2P结构2025/4/11计算机网络讲义13P2P的历史溯源:Napster --1999年,18岁的美国学生ShawnFanning --宿舍开发,朋友共享mp3

--半年5000万用户!

--2001年,版权纠纷,被迫关闭2025/4/11计算机网络讲义14P2P应用文件共享媒体播放数据存储分布计算等2025/4/11计算机网络讲义15德国互联网调研机构ipoque称,P2P已经彻底统治了当今的互联网,其中50-90%的总流量都来自P2P程序。2025/4/11计算机网络讲义16P2P模型--集中目录式

2025/4/11计算机网络讲义17P2P模型--纯P2P模式2025/4/11计算机网络讲义18P2P模型--混合式2025/4/11计算机网络讲义19结构化模型2001年,SIGCOMM(网络通信顶尖会议)

--Chord:IonStoica等(Berkeley、MIT)

--CAN:Ratnasamy等(Berkeley、AT&T)2001年,其它两个模型

--Pastry:Rowstron等(微软、Rice)

--Tapestry:赵燕斌等(Berkeley)结构化P2P系统

=DHT(DistributedHashTable)

2025/4/11计算机网络讲义20主要内容基本概念DNS域名服务SMTP&POP3协议HTTP协议DNS域名服务2025/4/11计算机网络讲义21域名服务(1)产生原因32比特的IP地址难于记忆,因此使用符号地址,比如用表示0。但是,网络本身是使用IP地址的,因此需要一个完成二者之间相互转换的机制。当网络规模较小时,例如ARPANET,每台主机只需查找一个文件(UNIX的host),该文件中列出了主机与IP地址的对应关系。当网络规模很大时,上述方法就不适用了,因此产生了域名系统DNS(DomainNameSystem)。DNS概述域名系统是一个典型的客户/服务器交互系统;域名系统是一个多层次的、基于域的命名系统,并使用分布式数据库实现这种命名机制;2025/4/11计算机网络讲义22域名服务(2)当应用程序需要进行域名解析时(从符号名到IP地址),它成为域名系统的一个客户。它向本地域名服务器发出请求,请求以UDP包格式发出,域名服务器找到对应的IP地址后,给出响应。当本地域名服务器无法完成域名解析,它临时变成其上级域名服务器的客户,递归解析,直到该域名解析完成。域名的结构INTERNET的顶级域名分为组织结构和地理结构两种。每个域对它下面的子域和机器进行管理DNS中,每台计算机的名字是由“.”所分开的字符数字串所组成的。例如.域名是大小写无关的,“edu”和“EDU”相同。域名最长255个字符,每部分最长63个字符。2025/4/11计算机网络讲义23顶级域名国家顶级域名:cn,uk,hk,ca,fr,jp,…国际通用顶级域名:com,net,org,edu,gov,mil,int新增:firm,shop,web,arts,rec,info,nom绝对域名:FQDN(FullyQualifiedDomainName),如:myPC..2025/4/11计算机网络讲义24因特网的域名空间根四级域名mail…www…bjeducom…cctvibmhp二级域名pkutsinghua…三级域名mailwww…comnetorgedugovaerocnuk…顶级域名……2025/4/11计算机网络讲义25授权域名服务器

因特网允许各个单位根据具体情况将本单位的域名划分为若干个域名服务器管辖区(zone),并在各管辖区中设置相应的授权域名服务器。DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位。comyabcwvxu根域名服务器域

管辖区的授权域名服务器管辖区

管辖区管辖区的授权域名服务器t2025/4/11计算机网络讲义26区的不同划分方法举例域区abcxuvwty(a)区=域(b)区<域域区区abcxuvwtycomeduorg根comeduorg根2025/4/11计算机网络讲义27树状结构的DNS域名服务器根域名服务器org域名服务器com域名服务器edu

域名服务器…域名服务器abc

公司有两个权限域名服务器权限域名服务器根域名服务器顶级域名服务器域名服务器2025/4/11计算机网络讲义28域名服务器有以下四种类型根域名服务器顶级域名服务器权限域名服务器本地域名服务器2025/4/11计算机网络讲义29根域名服务器

——最高层次的域名服务器——根域名服务器是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器。在因特网上共有13个不同IP地址的根域名服务器,它们的名字是用一个英文字母命名,从a一直到m(前13个字母)。2025/4/11计算机网络讲义30根域名服务器共有13套装置

(不是13个机器)这些根域名服务器相应的域名分别是

到2006年底全世界已经安装了一百多个根域名服务器机器,分布在世界各地。这样做的目的是为了方便用户,使世界上大部分DNS域名服务器都能就近找到一个根域名服务器。2025/4/11计算机网络讲义31举例:根域名服务器f的地点分布图

根域名服务器并不直接把域名直接转换成IP地址。在使用迭代查询时,根域名服务器把下一步应当找的顶级域名服务器的IP地址告诉本地域名服务器。共40个机器2025/4/11计算机网络讲义32顶级域名服务器

(即TLD服务器)

这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的IP地址)。2025/4/11计算机网络讲义33权限域名服务器这就是前面已经讲过的负责一个区的域名服务器。当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器。2025/4/11计算机网络讲义34本地域名服务器本地域名服务器对域名系统非常重要。当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。每一个因特网服务提供者ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,这种域名服务器有时也称为默认域名服务器。2025/4/11计算机网络讲义35提高域名服务器的可靠性DNS域名服务器都把数据复制到几个域名服务器来保存,其中的一个是主域名服务器,其他的是辅助域名服务器。当主域名服务器出故障时,辅助域名服务器可以保证DNS的查询工作不会中断。主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性。2025/4/11计算机网络讲义36域名的解析过程主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文。本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。2025/4/11计算机网络讲义37本地域名服务器采用迭代查询顶级域名服务器权限域名服务本地域名服务器根域名服务器

迭代查询

IP

地址

递归查询

需要查找

的IP地址2025/4/11计算机网络讲义38本地域名服务器采用递归查询

(比较少用)

顶级域名服务器权限域名服务本地域名服务器

根域名服务器

递归查询递归查询

IP

地址

需要查找

的IP地址2025/4/11计算机网络讲义39名字的高速缓存每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。可大大减轻根域名服务器的负荷,使因特网上的DNS查询请求和回答报文的数量大为减少。为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器,并处理超过合理时间的项(例如,每个项目只存放两天)。当权限域名服务器回答一个查询请求时,在响应中都指明绑定有效存在的时间值。增加此时间值可减少网络开销,而减少此时间值可提高域名转换的准确性。2025/4/11计算机网络讲义40DNS数据库资源记录在DNS的数据库中用资源记录来表示主机和子域的信息,当应用程序进行域名解析时,得到的便是域名所对应的资源记录。资源记录是一个五元组

Domain_nameTime_to_liveTypeClassValue2025/4/11计算机网络讲义412025/4/11计算机网络讲义422025/4/11计算机网络讲义43DNS中的其他概念逆向域名解析:IP地址

域名DNS使用的传输层协议:UDP或TCP测试命令:nslookup2025/4/11计算机网络讲义44主要内容基本概念DNS域名服务SMTP&POP3协议HTTP协议SMTP&POP3协议2025/4/11计算机网络讲义45电子邮件基于TCP,最广泛的应用之一SMTP协议(SimpleMailTransferProtocol)POP3协议(PostOfficeProtocol3)IMAP协议(InternetMessageAccessProtocol)用户接口邮件传输客户程序邮箱邮件服务器POP3服务器用户接口POP3客户SMTPPOP3网络发送方用户机Mail服务器2025/4/11计算机网络讲义46电子邮件的一些标准在

1982

年制定出简单邮件传送协议

SMTP(SimpleMailTransferProtocol)和因特网文本报文格式,它们都已成为因特网的正式标准。1993年提出了通用因特网邮件扩充

MIME(MultipurposeInternetMailExtensions)。MIME在其邮件首部中说明了邮件的数据类型(如文本、声音、图像、视像等)。在

MIME

邮件中可同时传送多种类型的数据。2025/4/11计算机网络讲义47电子邮件的最主要的组成构件发送方邮件缓存

接收端邮件服务器用户代理SMTPSMTPPOP3

发送端邮件服务器用户代理用户邮箱接收方用户代理用户代理

邮件服务器

邮件服务器SMTPSMTPPOP3(发送邮件)(发送邮件)(发送邮件)(发送邮件)(读取邮件)(读取邮件)(TCP连接)(TCP连接)(TCP连接)因特网2025/4/11计算机网络讲义48用户代理UA(UserAgent)用户代理UA就是用户与电子邮件系统的接口。用户代理的功能是:撰写、显示和处理。邮件服务器的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等)。邮件服务器按照客户服务器方式工作。邮件服务器需要使用两个不同的协议。SMTP协议用于发送邮件。邮局协议POP(PostOfficeProtocol)用于接收邮件。2025/4/11计算机网络讲义49电子邮件的发送和接收过程发送方邮件缓存

接收端邮件服务器用户代理

发送端邮件服务器用户代理接收方用户代理用户代理

邮件服务器

邮件服务器(发送邮件)SMTPSMTP(发送邮件)(TCP连接)因特网(1)发信人调用用户代理来编辑要发送的邮件。用户代理用SMTP把邮件传送给发送端邮件服务器。2025/4/11计算机网络讲义50电子邮件的发送和接收过程发送方

接收端邮件服务器用户代理SMTP

发送端邮件服务器邮件缓存用户代理接收方用户代理用户代理

邮件服务器

邮件服务器SMTP(发送邮件)(发送邮件)(TCP连接)因特网(2)发送端邮件服务器将邮件放入邮件缓存队列中,等待发送。2025/4/11计算机网络讲义51电子邮件的发送和接收过程发送方邮件缓存

接收端邮件服务器用户代理SMTP

发送端邮件服务器用户代理接收方用户代理用户代理

邮件服务器

邮件服务器SMTP(发送邮件)(发送邮件)(TCP连接)SMTPSMTP(发送邮件)(发送邮件)(TCP连接)因特网(3)运行在发送端邮件服务器的SMTP客户进程,发现在邮件缓存中有待发送的邮件,就向运行在接收端邮件服务器的SMTP服务器进程发起TCP连接的建立。2025/4/11计算机网络讲义52电子邮件的发送和接收过程发送方邮件缓存

接收端邮件服务器用户代理SMTP

发送端邮件服务器用户代理用户邮箱接收方用户代理用户代理

邮件服务器

邮件服务器SMTP(发送邮件)(发送邮件)(TCP连接)SMTPSMTP(发送邮件)(发送邮件)(TCP连接)因特网(4)TCP连接建立后,SMTP客户进程开始向远程的SMTP服务器进程发送邮件。当所有的待发送邮件发完了,SMTP就关闭所建立的TCP连接。2025/4/11计算机网络讲义53电子邮件的发送和接收过程发送方邮件缓存

接收端邮件服务器用户代理SMTP

发送端邮件服务器用户代理用户邮箱接收方用户代理用户代理

邮件服务器

邮件服务器SMTP(发送邮件)(发送邮件)(TCP连接)SMTPSMTP(发送邮件)(发送邮件)(TCP连接)因特网(5)运行在接收端邮件服务器中的SMTP服务器进程收到邮件后,将邮件放入收信人的用户邮箱中,等待收信人在方便时进行读取。2025/4/11计算机网络讲义54电子邮件的发送和接收过程发送方邮件缓存

接收端邮件服务器用户代理SMTP

发送端邮件服务器用户代理用户邮箱接收方用户代理用户代理

邮件服务器

邮件服务器SMTP(发送邮件)(发送邮件)(TCP连接)SMTPSMTP(发送邮件)(发送邮件)(TCP连接)POP3POP3(读取邮件)(读取邮件)(TCP连接)因特网(6)收信人在打算收信时,调用用户代理,使用POP3(或IMAP)协议将自己的邮件从接收端邮件服务器的用户邮箱中的取回(如果邮箱中有来信的话)。2025/4/11计算机网络讲义55电子邮件的组成电子邮件由信封(envelope)和内容(content)两部分组成。电子邮件的传输程序根据邮件信封上的信息来传送邮件。用户在从自己的邮箱中读取邮件时才能见到邮件的内容。在邮件的信封上,最重要的就是收信人的地址。

2025/4/11计算机网络讲义56电子邮件地址的格式TCP/IP体系的电子邮件系统规定电子邮件地址的格式如下:收信人邮箱名@邮箱所在主机的域名例如,电子邮件地址whq@邮箱所在的主机的域名在全世界必须是惟一的这个用户名在该域名的范围内是惟一的。2025/4/11计算机网络讲义57简单邮件传送协议SMTPSMTP所规定的就是在两个相互通信的SMTP进程之间应如何交换信息。由于SMTP使用客户服务器方式,因此负责发送邮件的SMTP进程就是SMTP客户,而负责接收邮件的SMTP进程就是SMTP服务器。SMTP规定了14条命令和21种应答信息。每条命令用4个字母组成,而每一种应答信息一般只有一行信息,由一个3位数字的代码开始,后面附上(也可不附上)很简单的文字说明。

2025/4/11计算机网络讲义58SMTP通信的三个阶段1.连接建立:连接是在发送主机的SMTP客户和接收主机的SMTP服务器之间建立的。SMTP不使用中间的邮件服务器。

2.邮件传送3.连接释放:邮件发送完毕后,SMTP应释放TCP连接。2025/4/11计算机网络讲义59S:220

C:HELO

crepes.fr

S:250Hellocrepes.fr,pleasedtomeetyouC:MAILFROM:<alice@crepes.fr>S:250alice@crepes.fr...SenderokC:RCPTTO:<bob@>S:250bob@...RecipientokC:DATA

S:354Entermail,endwith"."onalinebyitselfC:Doyoulikeketchup?C:Howaboutpickles?C:.S:250MessageacceptedfordeliveryC:QUIT

S:221closingconnectionSMTP协议交互实例2025/4/11计算机网络讲义60telnet54

25使用telnet命令连接服务器25端口

Trying54...正在连接服务器25端口

Connectedto54.连接服务器25端口成功

220

KsemailMailServer5.2Build041201(Database-MySQL)ESMTPReady.

http://

显示服务器的标识名称

helo

向服务器标识用户身份,发信不要认证,跳过下面几步直接发送mailfrom命令

250

ehlo

ESMTP命令,发信需要认证。

250-

250-PIPELINING

250-AUTH=LOGINPLAIN

250-AUTHLOGINPLAIN

250-SIZE20480000

2508BITMIME

authlogin进行用户身份认证

334VXNlagffdfcmdf5hbWU6

Ysdf29zdGFAsdfYW1hedfsadfGl0Lm5ldA==BASE64加密后的用户名

334UaGFzac3asdfdvcmQ6

aMdTk4adfMadfadfjIxNA==BASE64加密后的密码

2025/4/11计算机网络讲义61235authsuccessfully身份认证成功

(535authfailure身份认证失败)

发到本系统中域名下的账户可跳过身份认证。

mailfrom:<test1@>mailfrom地址test1@

250ok命令执行成功

rcptto:<test2@>递送给地址test2@

250ok命令执行成功

data数据传输初始化

354goahead开始传输数据

From:test1@

To:test2@

Date:Mon,25Oct200414:24:27+0800

Subject:testmail

Hi,test2

Thisisatestmail,youdon'treplyit.

.

--数据内容,包括BASE64加密后的邮件内容,以CRLF.CRLF结束数据传输

250okmessageacceptedfordelivery命令执行成功

quit结束会话

221

Ok,close

Connectionclosedbyforeignhost.断开连接2025/4/11计算机网络讲义62电子邮件的信息格式一个电子邮件分为信封和内容两大部分。[RFC822]只规定了邮件内容中的首部(header)格式,而对邮件的主体(body)部分则让用户自由撰写。用户写好首部后,邮件系统将自动地将信封所需的信息提取出来并写在信封上。所以用户不需要填写电子邮件信封上的信息。邮件内容首部包括一些关键字,后面加上冒号。最重要的关键字是:To和Subject。

2025/4/11计算机网络讲义63Mailmessageformatsmtp:protocolforexchangingemailmsgsRFC822:standardfortextmessageformat:headerlines,e.g.,To:From:Subject:different

fromsmtpcommands!bodythe“message”,ASCIIcharactersonlyheaderbodyblankline2025/4/11计算机网络讲义64邮件内容的首部“To:”后面填入一个或多个收信人的电子邮件地址。用户只需打开地址簿,点击收信人名字,收信人的电子邮件地址就会自动地填入到合适的位置上。“Subject:”是邮件的主题。它反映了邮件的主要内容,便于用户查找邮件。抄送“Cc:”表示应给某某人发送一个邮件副本。“From”和“Date”表示发信人的电子邮件地址和发信日期。“Reply-To”是对方回信所用的地址。

2025/4/11计算机网络讲义65邮件读取协议POP3和IMAP邮局协议

POP

是一个非常简单、但功能有限的邮件读取协议,现在使用的是它的第三个版本POP3。POP

也使用客户服务器的工作方式。在接收邮件的用户

PC

机中必须运行

POP

客户程序,而在用户所连接的

ISP

的邮件服务器中则运行

POP

服务器程序。

2025/4/11计算机网络讲义66IMAP协议

(InternetMessageAccessProtocol)

IMAP也是按客户服务器方式工作,现在较新的版本是IMAP4。用户在自己的PC机上就可以操纵ISP的邮件服务器的邮箱,就像在本地操纵一样。因此IMAP是一个联机协议。当用户PC机上的IMAP客户程序打开IMAP服务器的邮箱时,用户就可看到邮件的首部。若用户需要打开某个邮件,则该邮件才传到用户的计算机上。

2025/4/11计算机网络讲义67IMAP的特点IMAP最大的好处就是用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件。IMAP还允许收信人只读取邮件中的某一个部分。例如,收到了一个带有视像附件(此文件可能很大)的邮件。为了节省时间,可以先下载邮件的正文部分,待以后有时间再读取或下载这个很长的附件。IMAP的缺点是如果用户没有将邮件复制到自己的PC机上,则邮件一直是存放在IMAP服务器上。因此用户需要经常与IMAP服务器建立连接。2025/4/11计算机网络讲义68不要将邮件读取协议POP或IMAP与邮件传送协议SMTP弄混。发信人的用户代理向源邮件服务器发送邮件,以及源邮件服务器向目的邮件服务器发送邮件,都是使用SMTP协议。而POP协议或IMAP协议则是用户从目的邮件服务器上读取邮件所使用的协议。2025/4/11计算机网络讲义69通用因特网邮件扩充MIMESMTP有以下缺点:SMTP不能传送可执行文件或其他的二进制对象。SMTP限于传送7位的ASCII码。许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法文或德文)就无法传送。SMTP服务器会拒绝超过一定长度的邮件。某些SMTP的实现并没有完全按照[RFC821]的SMTP标准。

2025/4/11计算机网络讲义70MIME的特点MIME并没有改动SMTP或取代它。MIME的意图是继续使用目前的[RFC822]格式,但增加了邮件主体的结构,并定义了传送非ASCII码的编码规则。2025/4/11计算机网络讲义71MIME和SMTP的关系非ASCII码7位ASCII码MIMESMTPMIMESMTP7位ASCII码7位ASCII码非ASCII码用户用户2025/4/11计算机网络讲义72MIME主要包括三个部分5

个新的邮件首部字段,它们可包含在[RFC822]首部中。这些字段提供了有关邮件主体的信息。定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变。2025/4/11计算机网络讲义73MIME增加5个新的邮件首部MIME-Version:标志MIME的版本。现在的版本号是1.0。若无此行,则为英文文本。Content-Description:这是可读字符串,说明此邮件是什么。和邮件的主题差不多。Content-Id:邮件的惟一标识符。Content-Transfer-Encoding:在传送时邮件的主体是如何编码的。Content-Type:说明邮件的性质。2025/4/11计算机网络讲义74内容传送编码

Content-Transfer-Encoding最简单的编码就是7位ASCII码,而每行不能超过1000个字符。MIME对这种由ASCII码构成的邮件主体不进行任何转换。另一种编码称为quoted-printable,这种编码方法适用于当所传送的数据中只有少量的非ASCII码。对于任意的二进制文件,可用base64编码。

2025/4/11计算机网络讲义75内容类型MIME着标准规定Content-Type说明必须含有两个标识符,即内容类型(type)和子类型(subtype),中间用“/”分开。MIME标准定义了7个基本内容类型和15种子类型。2025/4/11计算机网络讲义76From:alice@crepes.fr

To:bob@

Subject:Pictureofyummycrepe.MIME-Version:1.0Content-Transfer-Encoding:base64Content-Type:image/jpegbase64encodeddata

base64encodeddata

multimediadatatype,subtype,parameterdeclarationmethodusedtoencodedataMIMEversionencodeddata2025/4/11计算机网络讲义77MIMEtypes

Content-Type:type/subtype;parametersTextexamplesubtypes:plain,htmlImageexamplesubtypes:jpeg,gifAudioexampesubtypes:basic(8-bitmu-lawencoded),32kadpcm(32kbpscoding)Videoexamplesubtypes:mpeg,quicktimeApplicationotherdatathatmustbeprocessedbyreaderbefore“viewable”examplesubtypes:msword,octet-stream2025/4/11计算机网络讲义78MultipartTypeFrom:alice@crepes.fr

To:bob@

Subject:Pictureofyummycrepe.MIME-Version:1.0Content-Type:multipart/mixed;boundary=98766789

--98766789Content-Transfer-Encoding:quoted-printableContent-Type:text/plainDearBob,Pleasefindapictureofacrepe.--98766789Content-Transfer-Encoding:base64Content-Type:image/jpegbase64encodeddata

base64encodeddata--98766789--2025/4/11计算机网络讲义79POP3protocolauthorizationphaseclientcommands:user:declareusernamepass:passwordserverresponses+OK-ERRtransactionphase,client:list:listmessagenumbersretr:retrievemessagebynumberdele:deletequit

C:listS:1498S:2912S:.C:retr1S:<message1contents>S:.C:dele1C:retr2S:<message1contents>S:.C:dele2C:quitS:+OKPOP3serversigningoffS:+OKPOP3serverreadyC:useralice

S:+OKC:passhungryS:+OKusersuccessfullyloggedon2025/4/11计算机网络讲义80主要内容基本概念DNS域名服务SMTP&POP3协议HTTP协议HTTP协议2025/4/11计算机网络讲义81万维网WWW万维网WWW(WorldWideWeb)并非某种特殊的计算机网络。万维网是一个大规模的、联机式的信息储藏所。万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。这种访问方式称为“链接”。2025/4/11计算机网络讲义82万维网提供分布式服务

万维网站点A万维网站点C万维网站点E万维网站点D万维网站点B链接到链接到链接到链接到链接到链接到③⑥①②④⑤2025/4/11计算机网络讲义83超媒体与超文本万维网是分布式超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充。一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。这些文档可以位于世界上任何一个接在因特网上的超文本系统中。超文本是万维网的基础。2025/4/11计算机网络讲义84万维网必须解决的问题(1)怎样标志分布在整个因特网上的万维网文档?

使用统一资源定位符

URL(UniformResourceLocator)来标志万维网上的各种文档。使每一个文档在整个因特网的范围内具有惟一的标识符URL。

2025/4/11计算机网络讲义85万维网必须解决的问题(2)用何协议实现万维网上各种超链的链接?

在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议

HTTP(HyperTextTransferProtocol)。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送。

2025/4/11计算机网络讲义86万维网必须解决的问题(3)怎样使各种万维网文档都能在因特网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链?

超文本标记语言

HTML(HyperTextMarkupLanguage)使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。2025/4/11计算机网络讲义87万维网必须解决的问题(4)怎样使用户能够很方便地找到所需的信息?为了在万维网上方便地查找信息,用户可使用各种的搜索工具(即搜索引擎)。

2025/4/11计算机网络讲义88统一资源定位符URL统一资源定位符URL是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示。URL给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换和查找其属性。URL相当于一个文件名在网络范围的扩展。因此URL是与因特网相连的机器上的任何可访问对象的一个指针。

2025/4/11计算机网络讲义89URL的一般形式由以冒号隔开的两大部分组成,并且在URL中的字符对大写或小写没有要求。URL的一般形式是:<URL的访问方式>://<主机>:<端口>/<路径>(8-2)ftp——文件传送协议FTPhttp——超文本传送协议HTTPNews——USENET新闻2025/4/11计算机网络讲义90URL的一般形式由以冒号隔开的两大部分组成,并且在URL中的字符对大写或小写没有要求。URL的一般形式是:<URL的访问方式>://<主机>:<端口>/<路径>(8-2)<主机>是存放资源的主机在因特网中的域名2025/4/11计算机网络讲义91URL的一般形式由以冒号隔开的两大部分组成,并且在URL中的字符对大写或小写没有要求。URL的一般形式是:<URL的访问方式>://<主机>:<端口>/<路径>(8-2)有时可省略2025/4/11计算机网络讲义922.使用FTP的URL使用FTP的URL举例

ftp:///pub/abc.txt

这表示使用FTP协议2025/4/11计算机网络讲义93使用FTP的URL使用FTP的URL举例

ftp:///pub/abc.txt

冒号和两个斜线是规定的格式2025/4/11计算机网络讲义94使用FTP的URL使用FTP的URL举例

ftp:///pub/abc.txt

这是网站的域名2025/4/11计算机网络讲义95使用FTP的URL使用FTP的URL举例

ftp:///pub/abc.txt

这是路径和文件名2025/4/11计算机网络讲义963.使用HTTP的URL使用HTTP的URL的一般形式

http://<主机>:<端口>/<路径>

这表示使用HTTP协议2025/4/11计算机网络讲义97使用HTTP的URL使用HTTP的URL的一般形式

http://<主机>:<端口>/<路径>

冒号和两个斜线是规定的格式2025/4/11计算机网络讲义98使用HTTP的URL使用HTTP的URL的一般形式

http://<主机>:<端口>/<路径>

这里写主机的域名2025/4/11计算机网络讲义99使用HTTP的URL使用HTTP的URL的一般形式

http://<主机>:<端口>/<路径>

HTTP的默认端口号是80,通常可省略2025/4/11计算机网络讲义100使用HTTP的URL使用HTTP的URL的一般形式

http://<主机>:<端口>/<路径>

若再省略文件的<路径>项,则URL就指到因特网上的某个主页(homepage)。2025/4/11计算机网络讲义101超文本传送协议HTTP为了使超文本的链接能够高效率地完成,需要用HTTP协议来传送一切必须的信息。从层次的角度看,HTTP是面向事务的(transaction-oriented)应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。2025/4/11计算机网络讲义102万维网的工作过程因特网服务器链接到URL的超链HTTP使用此TCP连接浏览器程序服务器程序HTTP客户北京航空航天大学建立TCP连接释放TCP连接

HTTP响应报文②响应文档

HTTP请求报文①请求文档2025/4/11计算机网络讲义103用户点击鼠标后所发生的事件(1)浏览器分析超链指向页面的URL。(2)浏览器向DNS请求解析

的IP地址。(3)域名系统DNS解析出北航服务器的IP地址。(4)浏览器与服务器建立TCP连接(5)浏览器发出取文件命令:

GET/index.htm。(6)服务器给出响应,把文件index.htm

发给浏览器。(7)TCP连接释放。(8)浏览器显示文件index.htm

中的所有文本。2025/4/11计算机网络讲义104HTTP的主要特点HTTP是面向事务的客户服务器协议。HTTP1.0协议是无状态的(stateless)。HTTP协议本身也是无连接的,虽然它使用了面向连接的TCP向上提供的服务。万维网浏览器就是一个HTTP客户,而在万维网服务器等待HTTP请求的进程常称为HTTPdaemon,有的文献将它缩写为HTTPD。HTTPdaemon在收到HTTP客户的请求后,把所需的文件返回给HTTP客户。

2025/4/11计算机网络讲义105HTTP的报文结构HTTP有两类报文:请求报文——从客户向服务器发送请求报文。响应报文——从服务器到客户的回答。由于HTTP是面向正文的(text-oriented),因此在报文中的每一个字段都是一些ASCII码串,因而每个字段的长度都是不确定的。2025/4/11计算机网络讲义106HTTP的报文结构(请求报文)方法URL版本首部字段名首部行:值首部字段名值:…实体主体(通常不用)请求行空格回车换行:CRLFCRLFCRLFCRLF报文由三个部分组成,即开始行、首部行和实体主体。在请求报文中,开始行就是请求行。开始行2025/4/11计算机网络讲义107HTTP的报文结构(请求报文)方法URL版本首部字段名首部行:值首部字段名值:…实体主体(通常不用)请求行空格回车换行:CRLFCRLFCRLFCRLF“方法”是面向对象技术中使用的专门名词。所谓“方法”就是对所请求的对象进行的操作,因此这些方法实际上也就是一些命令。因此,请求报文的类型是由它所采用的方法决定的。2025/4/11计算机网络讲义108HTTP请求报文的一些方法方法(操作)意义OPTION 请求一些选项的信息GET 请求读取由URL所标志的信息HEAD 请求读取由URL所标志的信息的首部POST 给服务器添加信息(例如,注释)PUT 在指明的URL下存储一个文档DELETE 删除指明的URL所标志的资源TRACE 用来进行环回测试的请求报文CONNECT 用于代理服务器2025/4/11计算机网络讲义109HTTP的报文结构(请求报文)方法URL版本首部字段名首部行:值首部字段名值:…实体主体(通常不用)请求行空格回车换行:CRLFCRLFCRLFCRLF“URL”是所请求的资源的

URL。2025/4/11计算机网络讲义110HTTP的报文结构(请求报文)方法URL版本首部字段名首部行:值首部字段名值:…实体主体(通常不用)请求行空格回车换行:CRLFCRLFCRLFCRLF“版本”是

HTTP的版本。2025/4/11计算机网络讲义111HTTP的报文结构(响应报文)版本状态码短语首部字段名首部行:值首部字段名值:…实体主体(有些响应报文不用)状态行空格回车换行:CRLFCRLFCRLFCRLF响应报文的开始行是状态行。状态行包括三项内容,即HTTP的版本,状态码,以及解释状态码的简单短语。

开始行2025/4/11计算机网络讲义112状态码都是三位数字1xx表示通知信息的,如请求收到了或正在进行处理。2xx表示成功,如接受或知道了。3xx表示重定向,表示要完成请求还必须采取进一步的行动。4xx表示客户的差错,如请求中有错误的语法或不能完成。5xx表示服务器的差错,如服务器失效无法完成请求。2025/4/11计算机网络讲义113超文本标记语言HTML

(HyperTextMarkupLanguage)1.HTML概述超文本标记语言HTML中的Markup的意思就是“设置标记”。HTML定义了许多用于排版的命令(标签)。HTML把各种标签嵌入到万维网的页面中。这样就构成了所谓的HTML文档。HTML文档是一种可以用任何文本编辑器创建的ASCII码文件。2025/4/11计算机网络讲义114HTML文档仅当HTML文档是以.html或.htm

为后缀时,浏览器才对此文档的各种标签进行解释。如HTML文档改换以.txt为其后缀,则HTML解释程序就不对标签进行解释,而浏览器只能看见原来的文本文件。当浏览器从服务器读取HTML文档后,就按照HTML文档中的各种标签,根据浏览器所使用的显示器的尺寸和分辨率大小,重新进行排版并恢复出所读取的页面。2025/4/11计算机网络讲义1152.HTML的格式与标签元素(element)是HTML文档结构的基本组成部分。一个HTML文档本身就是一个元素。每个HTML文档由两个主要元素组成:首部(head)和主体(body)。首部包含文档的标题(title),以及系统用来标识文档的一些其他信息。标题相当于文件名。文档的主体是HTML文档的最主要的部分。主体部分往往又由若干个更小的元素组成,如段落(paragraph)、表格(table)、和列表(list)等。2025/4/11计算机网络讲义116HTML的标签HTML用一对标签(即一个开始标签和一个结束标签)或几对标签来标识一个元素。开始标签由一个小于字符“<”、一个标签名、和一个大于字符“>”组成。结束标签和开始标签的区别只是在小于字符的后面要加上一个斜杠字符“/”。虽然标签名并不区分大写和小写。有一些标签可以将结束标签省略。2025/4/11计算机网络讲义117HTML文档中标签的用法<HTML><HEAD>

<TITLE>一个HTML的例子</TITLE></HEAD><BODY><H1>HTML很容易掌握</H1><P>这是第一个段落。虽然很短,但它仍是一个段落。</P><P>这是第二个段落。</P></BODY></HTML>HTML文档开始2025/4/11计算机网络讲义118HTML文档中标签的用法<HTML><HEAD>

<TITLE>一个HTML的例子</TITLE></HEAD><BODY><H1>HTML很容易掌握</H1><P>这是第一个段落。虽然很短,但它仍是一个段落。</P><P>这是第二个段落。</P></BODY></HTML>首部开始2025/4/11计算机网络讲义119HTML文档中标签的用法<HTML><HEAD>

<TITLE>一个HTML的例子</TITLE></HEAD><BODY><H1>HTML很容易掌握</H1><P>这是第一个段落。虽然很短,但它仍是一个段落。</P><P>这是第二个段落。</P></BODY></HTML>标题2025/4/11计算机网络讲义120HTML文档中标签的用法<HTML><HEAD>

<TITLE>一个HTML的例子</TITLE></HEAD><BODY><H1>HTML很容易掌握</H1><P>这是第一个段落。虽然很短,但它仍是一个段落。</P><P>这是第二个段落。</P></BODY></HTML>首部结束2025/4/11计算机网络讲义121HTML文档中标签的用法<HTML><HEAD>

<TITLE>一个HTML的例子</TITLE></HEAD><BODY><H1>HTML很容易掌握</H1><P>这是第一个段落。虽然很短,但它仍是一个段落。</P><P>这是第二个段落。</P></BODY></HTML>主体开始2025/4/11计算机网络讲义122HTML文档中标签的用法<HTML><HEAD>

<TITLE>一个HTML的例子</TITLE></HEAD><BODY><H1>HTML很容易掌握</H1><P>这是第一个段落。虽然很短,但它仍是一个段落。</P><P>这是第二个段落。</P></BODY></HTML>1

级标题2025/4/11计算机网络讲义123<HTML><HEAD>

<TITLE>一个HTML的例子</TITLE></HEAD><BODY><H1>HTML很容易掌握</H1><P>这是第一个段落。虽然很短,但它仍是一个段落。</P><P>这是第二个段落。</P></BODY></HTML>HTML文档中标签的用法第一个段落2025/4/11计算机网络讲义124<HTML><HEAD>

<TITLE>一个HTML的例子</TITLE></HEAD><BODY><H1>HTML很容易掌握</H1><P>这是第一个段落。虽然很短,但它仍是一个段落。</P><P>这是第二个段落。</P></BODY></HTML>HTML文档中标签的用法第二个段落2025/4/11计算机网络讲义125HTML文档中标签的用法<HTML><HEAD>

<TITLE>一个HTML的例子</TITLE></HEAD><BODY><H1>HTML很容易掌握</H1><P>这是第一个段落。虽然很短,但它仍是一个段落。</P><P>这是第二个段落。</P></BODY></HTML>主体结束2025/4/11计算机网络讲义126HTML文档中标签的用法<HTML><HEAD>

<TITLE>一个HTML的例子</TITLE></HEAD><BODY><H1>HTML很容易掌握</H1><P>这是第一个段落。虽然很短,但它仍是一个段落。</P><P>这是第二个段落。</P></BODY></HTML>HTML文档结束2025/4/11计算机网络讲义127插入图像<IMGSRC=portrait.gifHEIGHT=100WIDTH=65>结束标签开始标签插入图像插入的图像文件名是portrait.gif高度是

100

像素宽度是

65

像素2025/4/11计算机网络讲义128万维网页面中的超链

1.链接到其他网点上的页面定义一个超链的标签是<A>。字符A表示锚(Anchor)。在HTML文档中定义一个超链的语法是:

<AHREF="...">X</A>(8-3)超链的起点这个地方填写超链终点的URL2025/4/11计算机网络讲义129链接举例<AHREF=“http://”>北航软件学院</A>超链的起点是某个文档中的这四个字超链的终点是北航软件学院的主页2025/4/11计算机网络讲义130浏览器的主要组成部分浏览器有一组客户、一组解释程序,以及管理这些客户和解释程序的控制程序。控制程序是其中的核心部件,它解释鼠标的点击和键盘的输入,并调用有关的组件来执行用户指定的操作。例如,当用户用鼠标点击一个超链的起点时,控制程序就调用一个客户从所需文档所在的远地服务器上取回该文档,并调用解释程序向用户显示该文档。2025/4/11计算机网络讲义131动态万维网文档与CGI技术

1.动态文档的概念

静态文档是指该文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内容不会改变。动态文档是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建。动态文档和静态文档之间的主要差别体现在服务器一端。这主要是文档内容的生成方法不同。而从浏览器的角度看,这两种文档并没有区别。2025/4/11计算机网络讲义132万维网服务器功能的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论