《第六章Internet应用.ppt》由会员分享,可在线阅读,更多相关《第六章Internet应用.ppt(137页珍藏版)》请在三一办公上搜索。
1、第六章 Internet 应用,Internet 应用,一、万维网 WWW 1.概述 2.统一资源定位符 URL 3.超文本传送协议 HTTP 4.超文本标记语言 HTML二、域名系统 DNS 1.域名系统概述 2.因特网的域名结构 3.用域名服务器进行域名解析,Internet 应用,三、电子邮件 1.概述 2.简单邮件传送协议 SMTP 3.电子邮件的信息格式 4.邮件读取协议 POP3 和 IMAP 5.通用因特网邮件扩充 MIME,Internet 应用,四、文件传送协议 1.概述 2.FTP 的基本工作原理 3.简单文件传送协议 TFTP 4.常用文件传输工具五、远程登录 TELNE
2、T六、动态主机配置协议 DHCP七、搜索引擎,应用层协议的特点,每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的具体内容就是规定应用进程在通信时所遵循的协议。应用层的许多协议都是基于客户/服务器方式。客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务请求方,服务器是服务提供方。,一、万维网WWW,万维网概述,万维网 WWW(World Wide Web)并非某种特殊的计算机网络。万维网是一个大规模的、联机式的信息储藏所。万
3、维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。这种访问方式称为“链接”。,万维网提供分布式服务,万维网站点 A,万维网站点 C,万维网站点 E,万维网站点 D,万维网站点 B,超媒体与超文本,万维网是分布式超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充。一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。这些文档可以位于世界上任何一个接在因特网上的超文本系统中。超文本是万维网的基础。超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、
4、动画,甚至活动视频图像。,万维网的工作方式,万维网以客户/服务器方式工作。浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器。客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。在一个客户程序主窗口上显示出的万维网文档称为页面(page)。,万维网必须解决的问题,(1)怎样标志分布在整个因特网上的万维网文档?使用统一资源定位符 URL(Uniform Resource Locator)来标志万维网上的各种文档。使每一个文档在整个因特网的范围内具有唯一的标识符 URL。,万维网必须解决的问题,(2)用何协议
5、实现万维网上各种超链的链接?在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议 HTTP(HyperText Transfer Protocol)。HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。,万维网必须解决的问题,(3)怎样使各种万维网文档都能在因特网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链?超文本标记语言 HTML(HyperText Markup Language)使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。,万维网必须
6、解决的问题,(4)怎样使用户能够很方便地找到所需的信息?为了在万维网上方便地查找信息,用户可使用各种的搜索工具(即搜索引擎)。,统一资源定位符 URL,统一资源定位符 URL 是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示。URL 给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换和查找其属性。URL 相当于一个文件名在网络范围的扩展。因此 URL 是与因特网相连的机器上的任何可访问对象的一个指针。,URL 的一般形式,由以冒号隔开的两大部分组成,并且在 URL 中的字符对大写或小写没有要求。URL 的
7、一般形式是:,:/,协议,主机,:,端口,/,路径,使用 HTTP 的 URL,使用 HTTP 的 URL 的一般形式 http:/:/,使用 HTTP 的 URL,使用 HTTP 的 URL 的一般形式 http:/:/,冒号和两个斜线是规定的格式,使用 HTTP 的 URL,使用 HTTP 的 URL 的一般形式 http:/:/,这里写主机的域名,使用 HTTP 的 URL,使用 HTTP 的 URL 的一般形式 http:/:/,HTTP 的默认端口号是 80,通常可省略,使用 HTTP 的 URL,使用 HTTP 的 URL 的一般形式 http:/:/,若再省略文件的项,则 URL
8、 就指到因特网上的某个主页(home page)。,HTTP的操作过程,为了使超文本的链接能够高效率地完成,需要用 HTTP 协议来传送一切必须的信息。从层次的角度看,HTTP 是面向事务的(transaction-oriented)应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。,万维网的工作过程,因特网,服务器,链接到URL的超链,HTTP 使用此 TCP 连接,浏览器 程序,服务器 程序,HTTP,客户,清华大学院系设置,用户点击鼠标后所发生的事件,(1)浏览器分析超链指向页面的 URL。(2)浏览器向 DNS 请求解析 的 IP 地址。(3
9、)域名系统 DNS 解析出清华大学服务器的 IP 地址。(4)浏览器与服务器建立 TCP 连接(5)浏览器发出取文件命令:GET/chn/yxsz/index.htm。(6)服务器 给出响应,把文件 index.htm 发给浏览器。(7)TCP 连接释放。(8)浏览器显示“清华大学院系设置”文件 index.htm 中的所有文本。,HTTP 的主要特点,HTTP 是面向事务的客户服务器协议。HTTP 1.0 协议是无状态的(stateless)。HTTP 协议本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务。万维网浏览器就是一个 HTTP 客户,而在万维网服务器等待 HTTP
10、请求的进程常称为 HTTP daemon,有的文献将它缩写为 HTTPD。HTTP daemon 在收到 HTTP 客户的请求后,把所需的文件返回给 HTTP 客户。,从浏览器请求一个万维网文档到收到整个文档所需的时间,用户在点击鼠标链接某个万维网文档时,HTTP 协议首先要和服务器建立 TCP 连接。这需要使用三次握手。当三次握手的前两部分完成后(即经过了一个RTT 时间后),万维网客户就把 HTTP 请求报文放在三次握手的第三部分中,作为 TCP 确认报文的数据发送给服务器。服务器收到 HTTP 请求报文后,就把所请求的文档作为响应报文返回给客户。,万维网服务器,万维网客户,发起 TCP
11、连接,HTTP 请求报文,整个文档收到,时间,时间,持久连接(persistent connection),持久连接就是万维网服务器在发送响应后仍然保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的 HTTP 请求报文和响应报文。这并不局限于传送同一个页面上链接的文档,而是只要这些文档都在同一个服务器上就行。,流水线方式工作,客户在收到 HTTP 的响应报文之前就能够发送新的请求报文(即节省了一个 RTT 时间)。这样的一个接一个的请求报文到达服务器后,服务器就发回一个接一个的响应报文(这样就节省了许多个 RTT 时间)。流水线工作方式使 TCP 连接中的空闲时间减少
12、,提高了下载文档效率。,万维网高速缓存(Web cache),万维网高速缓存代表浏览器发出 HTTP 请求,因此又称为代理服务器(proxy server)。万维网高速缓存将最近的一些请求和响应暂存在本地磁盘中。当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按 URL 的地址再去因特网访问该资源。,使用高速缓存可减少访问因特网服务器的时延,校园网,源点服务器,2 Mb/s,因特网,浏览器,R1,R2,没有使用高速缓存的情况,使用高速缓存的情况,校园网,校园网的高速缓存(代理服务器),源点服务器,2 Mb/s,因特网,浏览器,R1,R2,(1)浏览器访问因特
13、网的服务器时,要先与校园网的高速缓存建立 TCP 连接,并向高速缓存发出 HTTP 请求报文,使用高速缓存的情况,校园网,校园网的高速缓存(代理服务器),源点服务器,2 Mb/s,因特网,浏览器,R1,R2,(2)若高速缓存已经存放了所请求的对象,则将此对象放入 HTTP 响应报文中返回给浏览器。,使用高速缓存的情况,校园网,校园网的高速缓存(代理服务器),源点服务器,2 Mb/s,因特网,浏览器,R1,R2,(3)否则,高速缓存就代表发出请求的用户浏览器,与因特网上的源点服务器建立 TCP 连接,并发送 HTTP 请求报文。,使用高速缓存的情况,校园网,校园网的高速缓存(代理服务器),源点服
14、务器,2 Mb/s,因特网,浏览器,R1,R2,(4)源点服务器将所请求的对象放在 HTTP 响应报文中返回给校园网的高速缓存。,使用高速缓存的情况,校园网,校园网的高速缓存(代理服务器),源点服务器,2 Mb/s,因特网,浏览器,R1,R2,(5)高速缓存收到此对象后,先复制在其本地存储器中(为今后使用),然后再将该对象放在 HTTP 响应报文中,通过已建立的 TCP 连接,返回给请求该对象的浏览器。,HTTP 的报文结构,HTTP 有两类报文:请求报文从客户向服务器发送请求报文。响应报文从服务器到客户的回答。由于 HTTP 是面向文本的(text-oriented),因此在报文中的每一个字
15、段都是一些 ASCII 码串,因而每个字段的长度都是不确定的。,HTTP 的报文结构(请求报文),方 法,URL,版 本,首部字段名,首部行,:,值,首部字段名,值,:,实体主体(通常不用),请求行,空格,回车换行,:,CRLF,CRLF,CRLF,CRLF,报文由三个部分组成,即开始行、首部行和实体主体。在请求报文中,开始行就是请求行。,HTTP 的报文结构(请求报文),方 法,URL,版 本,首部字段名,首部行,:,值,首部字段名,值,:,实体主体(通常不用),请求行,空格,回车换行,:,CRLF,CRLF,CRLF,CRLF,“方法”是面向对象技术中使用的专门名词。所谓“方法”就是对所请
16、求的对象进行的操作,因此这些方法实际上也就是一些命令。因此,请求报文的类型是由它所采用的方法决定的。,HTTP 请求报文的一些方法,方法(操作)意义OPTION 请求一些选项的信息GET 请求读取由URL所标志的信息HEAD 请求读取由URL所标志的信息的首部POST 给服务器添加信息(例如,注释)PUT 在指明的URL下存储一个文档DELETE 删除指明的URL所标志的资源TRACE 用来进行环回测试的请求报文CONNECT用于代理服务器,HTTP 的报文结构(请求报文),方 法,URL,版 本,首部字段名,首部行,:,值,首部字段名,值,:,实体主体(通常不用),请求行,空格,回车换行,:
17、,CRLF,CRLF,CRLF,CRLF,“URL”是所请求的资源的 URL。,HTTP 的报文结构(请求报文),方 法,URL,版 本,首部字段名,首部行,:,值,首部字段名,值,:,实体主体(通常不用),请求行,空格,回车换行,:,CRLF,CRLF,CRLF,CRLF,“版本”是 HTTP 的版本。,HTTP 的报文结构(响应报文),版 本,状态码,短 语,首部字段名,首部行,:,值,首部字段名,值,:,实体主体(有些响应报文不用),状态行,空格,回车换行,:,CRLF,CRLF,CRLF,CRLF,响应报文的开始行是状态行。状态行包括三项内容,即 HTTP 的版本,状态码,以及解释状态
18、码的简单短语。,状态码都是三位数字,1xx 表示通知信息的,如请求收到了或正在进行处理。2xx 表示成功,如接受或知道了。3xx 表示重定向,表示要完成请求还必须采取进一步的行动。4xx 表示客户的差错,如请求中有错误的语法或不能完成。5xx 表示服务器的差错,如服务器失效无法完成请求。,万维网的文档-超文本标记语言 HTML,HTML(HyperText Markup Language)中的 Markup 的意思就是“设置标记”。HTML 定义了许多用于排版的命令(标签)。HTML 把各种标签嵌入到万维网的页面中。这样就构成了所谓的 HTML 文档。HTML 文档是一种可以用任何文本编辑器创
19、建的 ASCII 码文件。,HTML 文档,仅当 HTML 文档是以.html 或.htm 为后缀时,浏览器才对此文档的各种标签进行解释。如 HTML 文档改换以.txt 为其后缀,则 HTML 解释程序就不对标签进行解释,而浏览器只能看见原来的文本文件。当浏览器从服务器读取 HTML 文档后,就按照 HTML 文档中的各种标签,根据浏览器所使用的显示器的尺寸和分辨率大小,重新进行排版并恢复出所读取的页面。,在万维网页面中插入图像,页面本身带有的图像称为内含图像(inline image)。HTML 标准并没有规定该图像的格式。从理论上讲,用户可以设计一个浏览器,使它能够支持多种格式的图像文件
20、。但按照这种浏览器创作出的万维网页面,很可能使别人的浏览器什么也看不见。,链接的设置方法,HTML 还规定了链接的设置方法。链接起点往往使用不同颜色的字,甚至还加上下划线。当我们将鼠标移动到一个链接的起点时,表示鼠标位置的箭头就变成了一只手。这时只要点击鼠标,这个链接就被激活。链接的终点可以是其他网站上的页面。这种链接方式叫做远程链接。这时必须在 HTML 文档中指明链接到的网站的 URL。有时链接可以指向本计算机中的某一个文件或本文件中的某处。这叫做本地链接。这时必须在 HTML 文档中指明链接的路径。,动态万维网文档,静态文档是指该文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中
21、,内容不会改变。动态文档是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建。动态文档和静态文档之间的主要差别体现在服务器一端。这主要是文档内容的生成方法不同。而从浏览器的角度看,这两种文档并没有区别。,活动万维网文档,活动文档(active document)技术把所有的工作都转移给浏览器端。每当浏览器请求一个活动文档时,服务器就返回一段程序副本在浏览器端运行。活动文档程序可与用户直接交互,并可连续地改变屏幕的显示。由于活动文档技术不需要服务器的连续更新传送,对网络带宽的要求也不会太高。,浏览器的结构,与远程服务器通信,输出至显示器,从鼠标和键盘输入,网 络 接 口,可选客户程序,
22、HTML解释程序,可选解释程序,控 制 程 序,驱动程序,HTTP 客户程序,缓 存,浏览器的主要组成部分,浏览器有一组客户、一组解释程序,以及管理这些客户和解释程序的控制程序。控制程序是其中的核心部件,它解释鼠标的点击和键盘的输入,并调用有关的组件来执行用户指定的操作。例如,当用户用鼠标点击一个超链的起点时,控制程序就调用一个客户从所需文档所在的远地服务器上取回该文档,并调用解释程序向用户显示该文档。,解释程序,HTML 解释程序是必不可少的,而其他的解释程序则是可选的。解释程序把 HTML 规格转换为适合用户硬件显示的命令来处理版面的细节。许多浏览器还包含 FTP 客户,用来获取文件传送服
23、务。一些浏览器也包含电子邮件客户,使浏览器能够发送和接收电子邮件。,浏览器中的缓存,浏览器将它取回的每一个页面副本都放入本地磁盘的缓存中。当用户用鼠标点击某个选项时,浏览器首先检查磁盘的缓存。若缓存中保存了该项,浏览器就直接从缓存中得到该项副本而不必从网络获取,这样就明显地改善浏览器的运行特性。但缓存要占用磁盘大量的空间,而浏览器性能的改善只有在用户再次查看缓存中的页面时才有帮助。许多浏览器允许用户调整缓存策略。,二、域名系统 DNS,域名系统概述,许多应用层软件经常直接使用域名系统 DNS(Domain Name System),但计算机的用户只是间接而不是直接使用域名系统。因特网采用层次结
24、构的命名树作为主机的名字,并使用分布式的域名系统 DNS。名字到 IP 地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。,因特网的域名结构,因特网采用了层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。域名的结构由若干个分量组成,各分量之间用点隔开:.三级域名.二级域名.顶级域名各分量分别代表不同级别的域名。,顶级域名 TLD(Top Level Domain),(1)国家顶级域名 nTLD:如:.cn 表示中国,.us 表示美国,.uk 表示英国,等等。(2)国际顶级域名 iTLD:
25、采用.int。国际性的组织可在.int 下注册。(3)通用顶级域名 gTLD:最早的顶级域名是:.com 表示商业机构.net 表示网络服务机构.org 表示非赢利性组织.edu 表示教育机构.gov 表示美国政府部门.mil 表示美国军事部门,2001/2002 年新增加了七个通用顶级域名,.aero 用于航空工业.biz 用于公司和企业.coop 用于合作团体.info 适用于信息服务提供者.museum 用于博物馆.name 用于个人.pro 用于会计、律师和医师等自由职业者,以后又增加的通用顶级域名,cat 用于加泰隆人的语言和文化团体 jobs 用于人力资源管理者mobi 用于移动产
26、品与服务的提供者travel 用于旅游业,因特网的名字空间,com,net,org,edu,gov,mil,coop,biz,info,aero,int,cn,uk,hk,js,sh,bj,org,net,gov,edu,com,ac,pku,fudan,sjtu,tsinghua,树根,cctv,ibm,hp,mot,顶级域名,二级域名,三级域名,mail,ep,四级域名,mail,csnetl,seu,用域名服务器进行域名解析,每一个域名服务器不但能够进行一些域名到 IP 地址的解析,而且还必须具有连向其他域名服务器的信息。当自己不能进行域名到 IP 地址的转换时,就能够知道到什么地方去找
27、别的域名服务器。这种地址转换即地址解析(address resolution)。解析就是转换的意思。因特网上的域名服务器系统也是按照域名的层次来安排的。每一个域名服务器都只对域名体系中的一部分进行管辖。,四种不同类型的域名服务器,本地域名服务器(local name server)根域名服务器(root name server)顶级域名服务器(即TLD 服务器)权限域名服务器(authoritative name server),本地域名服务器,每一个因特网服务提供者 ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,它也称为默认域名服务器。当主机发出 DNS 查询报文时,
28、这个查询报文就首先被送往该主机的本地域名服务器。本地域名服务器离用户较近,一般不超过几个路由器的距离。若所要查询的主机也处在本地 ISP 的管辖范围,那么本地域名服务器就立即能把所查询的主机名转换为 IP 地址。否则就需要再去询问其他的域名服务器。,根域名服务器最高层次的域名服务器,每个根域名服务器都知道所有的顶级域名服务器的域名及其 IP 地址。现有 13 个不同 IP 地址的根域名服务器,共有一百多个根域名服务器机器分布在世界各地。当 DNS 客户向根域名服务器发出查询时,路由器就把查询转发到离这个 DNS 客户最近的一个根域名服务器。这就加快了查询过程,更合理地利用了因特网资源。根域名服
29、务器并不直接把域名直接转换成 IP 地址。在使用迭代查询时,根域名服务器把下一步应当找的顶级域名服务器的 IP 地址回答本地域名服务器。,顶级域名服务器,顶级域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到 DNS 查询请求时就给出相应的回答(可能是最后的结果,也可能是下一步应当找的权限域名服务器的 IP 地址)。,权限域名服务器,每一个主机都必须在某个权限域名服务器处注册登记。因此权限域名服务器知道其管辖的主机名应当转换成什么 IP 地址。因特网允许各个单位根据自己的具体情况把本单位的域名划分为若干个域名管辖区(zone)(管辖区也可以简称为区),一般就在各管辖区中设置相应的权
30、限域名服务器。管辖区是“域”的子集。管辖区可以小于或等于域,但不可能大于域。,域名管辖区的的划分,com,y,abc,w,v,x,u,顶级域名服务器,域,管辖区 的 权限域名服务器,管辖区,管辖区 的 权限域名服务器,管辖区,t,域名的解析过程,主机向本地域名服务器的查询一般都是采用递归查询(recursive query)。递归查询就是如果本地域名服务器不知道被查询域名的 IP 地址时,那么本地域名服务器就以 DNS 客户的身份向某个根域名服务器继续发出查询请求报文(即替该主机继续查询),而不是让该主机自己进行下一步的查询。,本地域名服务器向根域名服务器查询,优先采用迭代查询(iterati
31、ve query),即循环查询。当根域名服务器收到查询请求报文但并不知道被查询域名的 IP 地址时,这个根域名服务器就把自己知道的顶级域名服务器的 IP 地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,就告诉本地域名服务器下一步应当向哪一个个权限域名服务器进行查询。最后主机就知道了所要解析的域名的IP地址。本地域名服务器也可以采用递归查询。,顶级域名服务器,权限域名服务器,本地域名服务器,根域名服务器,本地域名服务器进行迭代查询,本地域名服务器进行递归查询,顶级域名服务器,权限域名服务器,本地域名服务器,根域名服务器,高速缓存(高
32、速缓存域名服务器),为了提高 DNS 查询效率,并减轻根域名服务器的负荷和减少因特网上的 DNS 查询报文数量,广泛地使用了高速缓存高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。例如不久前已有用户查询过域名为 的 IP 地址,则本地域名服务器就不必再向根域名服务器重新查询 的 IP 地址了,而是直接把高速缓存中存放的上次查询结果(即 的 IP 地址)告诉用户。,使用高速缓存的好处,假定本地域名服务器的缓存中并没有 的 IP 地址,而是存放着顶级域名服务器 的 IP 地址,那么本地域名服务器就不必向根域名服务器进行查询,而可以直接向 com 顶级域名服务器发送查询请求报文。这
33、样不仅可以大大减轻根域名服务器的负荷,而且也能够使因特网上的 DNS 查询请求和回答报文的数量大为减少。,缓存中保存项目有一定时限,由于域名到 IP 地址的绑定有可能发生变化(但并不会经常改变),为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器并处理超过合理时间的项目(例如,典型的数值是每个项目只存放 48 小时)。当域名服务器已从缓存中删去某项信息后又被请求查询该项信息,就必须重新到授权管理该项目的域名服务器获取绑定信息。当权限域名服务器回答一个查询请求时,在响应中都指明绑定有效存在的时间值。增加此时间值可减少网络开销,而减少此时间值可提高域名解析的准确性。,在主机中也很需要高速
34、缓存,许多主机在启动时从本地域名服务器下载名字和地址的全部数据库,维护存放自己最近使用的域名的高速缓存,并且只在从缓存中找不到欲解析的域名时才向本地域名服务器发送查询请求报文。维护本地域名服务器数据库的主机自然应该定期地检查域名服务器以获取新的映射信息,而且主机必须从缓存中删掉无效的项。由于域名改动并不频繁,大多数网点不需花太多精力就能维护数据库的一致性。,提高域名服务器的可靠性,DNS 域名服务器都把数据复制到几个域名服务器来保存,其中的一个是主域名服务器(master name server),其他的是辅助域名服务器(secondary name server)。当主域名服务器出故障时,辅
35、助域名服务器可以保证 DNS 的查询工作不会中断。主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性。,三、电子邮件,概述,电子邮件(e-mail)是因特网上使用得最多的和最受用户欢迎的一种应用。电子邮件把邮件发送到 ISP 的邮件服务器,并放在其中的收信人邮箱中,收信人可随时上网到 ISP 的邮件服务器进行读取。电子邮件不仅使用方便,而且还具有传递迅速和费用低廉的优点。现在电子邮件不仅可传送文字信息,而且还可附上声音和图像。,电子邮件的一些标准,在 1982 年制定出简单邮件传送协议 SMTP(Simple Mail Transfer
36、Protocol)和因特网文本报文格式,它们都已成为因特网的正式标准。1993 年提出了通用因特网邮件扩充 MIME(Multipurpose Internet Mail Extensions)。MIME 在其邮件首部中说明了邮件的数据类型(如文本、声音、图像、视像等)。在 MIME 邮件中可同时传送多种类型的数据。,SMTP,TCP连接,电子邮件的最主要的组成构件,发送方,邮件缓存,接收方邮件服务器,用户代理,SMTP,SMTP,POP3,发送方邮件服务器,用户代理,用户邮箱,接收方,(发送邮件),(发送邮件),(读取邮件),因特网,POP3,发送邮件,发送邮件 SMTP,读取邮件,TCP连
37、接,发送方邮件服务器,SMTP客户,POP3客户,发件人用户代理,接收方邮件服务器,SMTP服务器,POP3服务器,SMTP服务器,SMTP客户,收件人用户代理,TCP 连接,用户代理 UA(User Agent),用户代理 UA 就是用户与电子邮件系统的接口。用户代理的功能是:撰写、显示和处理。邮件服务器的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等)。邮件服务器按照客户服务器方式工作。邮件服务器需要使用两个不同的协议。SMTP 协议用于发送邮件。邮局协议 POP(Post Office Protocol)用于接收邮件。,应当注意,一个邮件服务器既可以作为
38、客户,也可以作为服务器。例如,当邮件服务器 A 向另一个邮件服务器 B 发送邮件时,邮件服务器 A 就作为 SMTP 客户,而 B 是 SMTP 服务器。当邮件服务器 A 从另一个邮件服务器 B 接收邮件时,邮件服务器 A 就作为 SMTP 服务器,而 B是 SMTP 客户。,SMTP,TCP连接,电子邮件的最主要的组成构件,发送方,邮件缓存,接收方邮件服务器,用户代理,SMTP,SMTP,POP3,发送方邮件服务器,用户代理,用户邮箱,接收方,(发送邮件),(发送邮件),(读取邮件),因特网,POP3,发送邮件,发送邮件 SMTP,读取邮件,TCP连接,发送方邮件服务器,SMTP客户,POP
39、3客户,发件人用户代理,接收方邮件服务器,SMTP服务器,POP3服务器,SMTP服务器,SMTP客户,收件人用户代理,TCP 连接,发信人调用用户代理来编辑要发送的邮件。用户代理用 SMTP 把邮件传送给发送方邮件服务器。,SMTP,TCP连接,电子邮件的最主要的组成构件,发送方,邮件缓存,接收方邮件服务器,用户代理,SMTP,SMTP,POP3,发送方邮件服务器,用户代理,用户邮箱,接收方,(发送邮件),(发送邮件),(读取邮件),因特网,POP3,发送邮件,发送邮件 SMTP,读取邮件,TCP连接,发送方邮件服务器,SMTP客户,POP3客户,发件人用户代理,接收方邮件服务器,SMTP服
40、务器,POP3服务器,SMTP服务器,SMTP客户,收件人用户代理,TCP 连接,(2)发送方邮件服务器将邮件放入邮件缓存队列中,等待发送。,SMTP,TCP连接,电子邮件的最主要的组成构件,发送方,邮件缓存,接收方邮件服务器,用户代理,SMTP,SMTP,POP3,发送方邮件服务器,用户代理,用户邮箱,接收方,(发送邮件),(发送邮件),(读取邮件),因特网,POP3,发送邮件,发送邮件 SMTP,读取邮件,TCP连接,发送方邮件服务器,SMTP客户,POP3客户,发件人用户代理,接收方邮件服务器,SMTP服务器,POP3服务器,SMTP服务器,SMTP客户,收件人用户代理,TCP 连接,(
41、3)运行在发送方邮件服务器的 SMTP 客户进程,发现在邮件缓存中有待发送的邮件,就向运行在接收方邮件服务器的 SMTP 服务器进程发起 TCP 连接的建立。,SMTP,TCP连接,电子邮件的最主要的组成构件,发送方,邮件缓存,接收方邮件服务器,用户代理,SMTP,SMTP,POP3,发送方邮件服务器,用户代理,用户邮箱,接收方,(发送邮件),(发送邮件),(读取邮件),因特网,POP3,发送邮件,发送邮件 SMTP,读取邮件,TCP连接,发送方邮件服务器,SMTP客户,POP3客户,发件人用户代理,接收方邮件服务器,SMTP服务器,POP3服务器,SMTP服务器,SMTP客户,收件人用户代理
42、,TCP 连接,(4)TCP 连接建立后,SMTP 客户进程开始向远程的 SMTP 服务器进程发送邮件。当所有的待发送邮件发完了,SMTP 就关闭所建立的 TCP 连接。,SMTP,TCP连接,电子邮件的最主要的组成构件,发送方,邮件缓存,接收方邮件服务器,用户代理,SMTP,SMTP,POP3,发送方邮件服务器,用户代理,用户邮箱,接收方,(发送邮件),(发送邮件),(读取邮件),因特网,POP3,发送邮件,发送邮件 SMTP,读取邮件,TCP连接,发送方邮件服务器,SMTP客户,POP3客户,发件人用户代理,接收方邮件服务器,SMTP服务器,POP3服务器,SMTP服务器,SMTP客户,收
43、件人用户代理,TCP 连接,(5)运行在接收方邮件服务器中的 SMTP 服务器进程收到邮件后,将邮件放入收信人的用户邮箱中,等待收信人在方便时进行读取。,SMTP,TCP连接,电子邮件的最主要的组成构件,发送方,邮件缓存,接收方邮件服务器,用户代理,SMTP,SMTP,POP3,发送方邮件服务器,用户代理,用户邮箱,接收方,(发送邮件),(发送邮件),(读取邮件),因特网,POP3,发送邮件,发送邮件 SMTP,读取邮件,TCP连接,发送方邮件服务器,SMTP客户,POP3客户,发件人用户代理,接收方邮件服务器,SMTP服务器,POP3服务器,SMTP服务器,SMTP客户,收件人用户代理,TC
44、P 连接,(6)收信人在打算收信时,调用用户代理,使用 POP3(或 IMAP)协议将自己的邮件从接收方邮件服务器的用户邮箱中的取回(如果邮箱中有来信的话)。,电子邮件的组成,电子邮件由信封(envelope)和内容(content)两部分组成。电子邮件的传输程序根据邮件信封上的信息来传送邮件。用户在从自己的邮箱中读取邮件时才能见到邮件的内容。在邮件的信封上,最重要的就是收信人的地址。,电子邮件地址的格式,TCP/IP 体系的电子邮件系统规定电子邮件地址的格式如下:收信人邮箱名邮箱所在主机的域名 符号“”读作“at”,表示“在”的意思。例如,电子邮件地址,简单邮件传送协议 SMTP,SMTP
45、所规定的就是在两个相互通信的 SMTP 进程之间应如何交换信息。由于 SMTP 使用客户服务器方式,因此负责发送邮件的 SMTP 进程就是 SMTP 客户,而负责接收邮件的 SMTP 进程就是 SMTP 服务器。SMTP 规定了 14 条命令和 21 种应答信息。每条命令用 4 个字母组成,而每一种应答信息一般只有一行信息,由一个 3 位数字的代码开始,后面附上(也可不附上)很简单的文字说明。,SMTP 通信的三个阶段,1.连接建立:连接是在发送主机的 SMTP 客户和接收主机的 SMTP 服务器之间建立的。SMTP不使用中间的邮件服务器。2.邮件传送3.连接释放:邮件发送完毕后,SMTP 应
46、释放 TCP 连接。,电子邮件的信息格式,一个电子邮件分为信封和内容两大部分。RFC 2822 只规定了邮件内容中的首部(header)格式,而对邮件的主体(body)部分则让用户自由撰写。用户写好首部后,邮件系统将自动地将信封所需的信息提取出来并写在信封上。所以用户不需要填写电子邮件信封上的信息。邮件内容首部包括一些关键字,后面加上冒号。最重要的关键字是:To 和 Subject。,邮件内容的首部,“To:”后面填入一个或多个收信人的电子邮件地址。用户只需打开地址簿,点击收信人名字,收信人的电子邮件地址就会自动地填入到合适的位置上。“Subject:”是邮件的主题。它反映了邮件的主要内容,便
47、于用户查找邮件。抄送“Cc:”表示应给某某人发送一个邮件副本。“From”和“Date”表示发信人的电子邮件地址和发信日期。“Reply-To”是对方回信所用的地址。,邮件读取协议POP3 和 IMAP,邮局协议 POP 是一个非常简单、但功能有限的邮件读取协议,现在使用的是它的第三个版本 POP3。POP 也使用客户服务器的工作方式。在接收邮件的用户 PC 机中必须运行 POP 客户程序,而在用户所连接的 ISP 的邮件服务器中则运行 POP 服务器程序。,IMAP 协议(Internet Message Access Protocol),IMAP 也是按客户服务器方式工作,现在较新的版本是
48、 IMAP4。用户在自己的 PC 机上就可以操纵 ISP 的邮件服务器的邮箱,就像在本地操纵一样。因此 IMAP 是一个联机协议。当用户 PC 机上的 IMAP 客户程序打开 IMAP 服务器的邮箱时,用户就可看到邮件的首部。若用户需要打开某个邮件,则该邮件才传到用户的计算机上。,IMAP 的特点,IMAP最大的好处就是用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件。IMAP 还允许收信人只读取邮件中的某一个部分。例如,收到了一个带有视像附件(此文件可能很大)的邮件。为了节省时间,可以先下载邮件的正文部分,待以后有时间再读取或下载这个很长的附件。IMAP 的缺点是如果用户没有
49、将邮件复制到自己的 PC 机上,则邮件一直是存放在 IMAP 服务器上。因此用户需要经常与 IMAP 服务器建立连接。,必须注意,不要将邮件读取协议 POP 或 IMAP 与邮件传送协议 SMTP 弄混。发信人的用户代理向源邮件服务器发送邮件,以及源邮件服务器向目的邮件服务器发送邮件,都是使用 SMTP 协议。而 POP 协议或 IMAP 协议则是用户从目的邮件服务器上读取邮件所使用的协议。,通用因特网邮件扩充 MIME,SMTP 有以下缺点:SMTP 不能传送可执行文件或其他的二进制对象。SMTP 限于传送 7 位的 ASCII 码。许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法
50、文或德文)就无法传送。SMTP 服务器会拒绝超过一定长度的邮件。某些 SMTP 的实现并没有完全按照因特网的 SMTP 标准。,MIME 的特点,MIME 并没有改动 SMTP 或取代它。MIME 的意图是继续使用目前的 RFC 822 格式,但增加了邮件主体的结构,并定义了传送非 ASCII 码的编码规则。,MIME 和 SMTP 的关系,非 ASCII 码,7 位 ASCII 码,MIME,SMTP,MIME,SMTP,7 位 ASCII 码,7 位 ASCII 码,非 ASCII 码,用户,用户,MIME 主要包括三个部分,5 个新的邮件首部字段,它们可包含在RFC 822首部中。这些字