第3章 应用层110320

上传人:luoxia****01804 文档编号:62423925 上传时间:2018-12-20 格式:PPT 页数:93 大小:1.03MB
返回 下载 相关 举报
第3章 应用层110320_第1页
第1页 / 共93页
第3章 应用层110320_第2页
第2页 / 共93页
第3章 应用层110320_第3页
第3页 / 共93页
第3章 应用层110320_第4页
第4页 / 共93页
第3章 应用层110320_第5页
第5页 / 共93页
点击查看更多>>
资源描述

《第3章 应用层110320》由会员分享,可在线阅读,更多相关《第3章 应用层110320(93页珍藏版)》请在金锄头文库上搜索。

1、第三章 应用层,本章知识点,应用层的基本概念,应用层实体、客户服务器模型、应用进程地址 WWW和HTTP协议 FTP协议 电子邮件、SMTP协议、POP3协议 域名系统DNS DHCP,应用层概述,应用层的目的是为人们提供具体的网络应用,如网页浏览、文件下载、电子邮件等 。 通信两端的应用层遵循特定的应用层协议,交换特定的应用层报文,实现特定的网络应用 。,应用层中的几个问题,在应用层里是谁在通信?即应用层实体是什么? 两个应用层实体的通信如何开始的?如何进行的?如何结束的? 通信的一个关键要素是地址,在应用层中,应用层实体的地址是如何确定的?,应用层实体,应用层实体实现了具体的应用层协议,提

2、供网络应用。 网络通信是在两个正在运行着的程序之间进行的,因此应用层实体是实现并遵循特定网络协议的应用进程 。,应用层工作模型,TCP/IP应用层基本的工作模型是客户服务器模型。 客户和服务器都是指进行网络通信的进程。 首先发起通信的应用进程称为客户。 等待通信的应用进程称为服务器。 在客户服务器模型中,服务器要先运行并处于等待状态,时刻准备接收客户的请求。 客户只在需要时向服务器发出请求,服务器收到请求后给客户做出应答,然后客户再次发出请求,服务器再次给予应答,应用进程的地址,在TCP/IP体系中,应用进程的地址是通过来确定的 。 一个IP地址可以标识网络中的一台主机 ,一个端口号对应于一台

3、主机内的一个通信的应用进程 。 -能确定通信的两个应用进程,这样的一组有序对称为一个连接。,端口号,一些常用的服务器(如Web服务、FTP服务)占用的端口号是固定的,这些端口称为熟知端口(well-known port),其值的范围一般01023。 客户进程的端口号是由操作系统随机分配的,它的值一般都大于1024。,常用的服务及其默认端口号,URL,统一资源定位符(Unified Resource Location, URL)用来表示因特网服务器上可以访问的资源 。 URL的表示形式为: :/ :/ 例如: http:/202.108.9.38 ftp:/ Wide Web)又称为万维网。 W

4、WW由4部分组成:HTML语言、HTTP协议、Web浏览器和Web服务器。,HTTP协议,HTTP协议是Web浏览器和Web服务器交互时要遵循的协议,它定义了Web浏览器和Web服务器的通信规则。 HTTP协议最初被设计用来在Web浏览器和Web服务器之间传递HTML文档,但现在还可以用来传输其他类型的文件。 HTTP协议需要运输层协议TCP的支持 ,80端口是Web服务器的默认服务端口。,HTTP协议工作过程,(TCP协议),HTTP协议是一个无状态的协议,Web服务器不去记忆哪一个客户曾经访问过它,也不去记忆特定的某个客户曾经访问过哪一个文件。 注意:特定的环境也会由专用的模块记录访问日志

5、 一个客户连续向服务器发出两个相同的请求时,Web服务器会认为这是两个单独的请求。 HTTP协议是一个无状态的协议。,HTTP报文,Web浏览器和Web服务器通过交换HTTP报文来实现HTTP协议。 HTTP协议有2种报文: 请求报文 请求报文是浏览器发给服务器的,指明所需文档的名字和位置。 应答报文 应答报文是服务器发给浏览器的,里面包含服务器的应答和浏览器所需的文档 。,HTTP请求报文例子,Get / HTTP/1.1 Accept: image/gif, image/jpeg,application/x-shockwave-flash,application/vnd.ms-excel,

6、 application/vnd.ms-powerpoint, application/vnd.ms-word, */* Accept-Language:zh-ch Accept-Encoding:gzip,deflate User-Agent:Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.1) Host: Connection:Keep-Alive,请求行,首部行,HTTP请求报文格式,HTTP请求报文,方法字段(指明要进行的操作) GET :请求获取某个文档。 POST:向服务器提交网页上表单内的数据。 在实体主体中放入要提交的内容 HEAD :

7、类似GET,但应答报文中不包含文档的具体内容 。 用来进行测试,判断服务器能否被访问 PUT :用来将一个文档上传到Web服务器。 在实体主体中放入要提交的内容 DELETE:用来删除Web服务器上的文档 。,HTTP请求报文,首部字段:用来告诉服务器一些特定的信息。 Accept:表示浏览器所接受的文档类型 。 Accept-Language:表示浏览器优先接受的语言类型。 Accept-Encoding:表示浏览器能够理解的编码方式 。 User-Agent:告诉服务器浏览器的类型 。 Host:表示所访问的主机 。 Connection:告诉服务器在对浏览器做了应答后,是否继续保持和浏览

8、器的连接。,HTTP请求报文,实体字段 对于Get请求,实体字段一般为空。 对于Post、Put请求,实体字段要放入客户向服务器传递的数据。 不同的方法字段,实体字段内容不同。,HTTP应答报文例子,HTTP/1.1 200 OK Connection: Close Date: Wed ,07 Feb 2007 12:01:30 GMT Server:Apache/1.3.0 (Unix) Last-Modified: Sun ,03 Feb 2007 15:03:24 GMT Content-Length:4020 Contend-Type:text/html (data data data

9、 data data data ),状态行,首部行,空 行,实体主体,HTTP应答报文格式,HTTP应答报文,状态码 HTTP协议使用一些特定的三位数字表明对请求的应答结果,称为状态码。 1XX表示服务器给浏览器发送的信息,如提示浏览器补全请求,提升协议版本号等。 2XX表示浏览器的请求已经成功地被服务器接受了 3XX表示的是重定向信息。 4XX表示浏览器的请求有错误,不能被执行。 5XX表示服务端出现了错误,不能执行浏览器的请求 。,HTTP应答报文,常用的状态码和短语 200 OK 301 Moved Permanently 400 Bad Request 403 Forbidden 40

10、4 Not Found 500 Internal Server Error,HTTP应答报文,首部字段 Connection:服务器告诉浏览器,发送完文档后是关闭连接还是保持连接。 Date:是服务器产生响应报文的时间。 Server:表明服务器的类型。 Last-Modified:文档的最后修改时间 。 Content-Length :发送文档的字节数 。 Contend-Type:文档的格式 。,HTTP应答报文,实体字段 当需要向客户端传输文档时,实体字段存放文档的内容。,Web代理,代理服务器技术的主要的优点: 访问速度快 可以节省带宽,降低开销 节省IP地址资源,Web代理,代理服务

11、器的缺陷:代理服务器所缓存的网页可能不是最新的 。 解决方案:条件GET机制 Web服务器的首次响应中添加Last-Modified 字段,代理服务器记录该页面最后修改时间 客户再次请求相同的网页时,代理服务器在转发的请求中添加If-modified-since 字段 Web服务器如果未修改数据,则以状态码304应答,代理直接从缓存调取数据给用户 如果Web服务器在If-modified-since之后修改过数据,则交给用户新的页面,Cookie,Cookie实际上Web网站用来记录用户行为的一种技术,Cookie最早由Netscape公司发明。 HTTP协议本身是一种无状态的协议 ,Web服

12、务器不会去记录客户的访问情况。 有时候网站需要了解和记录用户访问网站的过程,如购物喜好、购物记录等活动,并进行一些统计。Cookie技术便用来完成这项任务。,Cookie,原理 对于第一次访问网站的用户,服务器的应答中添加Set-cookie,分配cookieId给用户 浏览器将用户cookieId保存在磁盘中 下次访问时,浏览器的请求报文中包含Cookie 字段,告诉服务器用户的cookieId 根据cookieId,服务器识别用户,记录用户的行为 Web服务器使用后台数据库记录用户的访问信息。,多点下载和断点续传,多点下载和断点续传都是利用了HTTP 1.1协议所支持的部分下载的功能。 H

13、TTP请求报文的Range可以指明想要下载文档的部分内容,例如Range:bytes=0-499。 从应答报文中的ContentLength首部获取文档大小后,可以建立若干个连接,每个连接下载一部分内容,实现多点下载。 可以暂停下载过程并记录下载点,下次从断点开始下载即可。,FTP协议,文件传输协议FTP,文件传输协议(File Transfer Protocol,FTP)是专门用来传输各类文件的协议。 21端口是FTP服务器的默认服务端口,FTP协议在运输层上使用了TCP协议。 FTP协议是以交互式的命令方式运行的。用户输入命令,FTP客户端将命令传递给FTP服务器,FTP服务器执行命令,并

14、将结果返回FTP客户端。 实例:ftp 10.1.11.24,文件传输协议FTP,控制连接和数据连接,FTP协议中有两个连接。 FTP客户首先与FTP服务器的21端口建立连接,这个连接称为控制连接,专门用来传输控制信息,如用户标识、口令、用户命令等。 第二个连接称为数据连接,主要用来传输目录文件列表、下载的文件和上传的文件。 一般情况下,FTP服务器会占用两个端口,21端口用于控制连接,20端口用于数据连接。,控制连接和数据连接,控制连接和数据连接,控制连接是由客户端发起的,客户端使用一个随机端口连接到服务器的21端口。 如果需要传输数据,由客户机指定用来接收数据的临时端口,经控制连接将可用端

15、口告知服务器。 数据连接通常是由FTP服务器主动发起的,由服务器的20端口连接的客户机的另一个随机端口上。 控制连接一旦建立,在整个会话过程中始终存在,直到用户退出。 数据连接在传输数据前建立,数据传输完毕后就关闭。下一次传输数据时要重新建立新的数据连接。,主动模式和被动模式,数据连接通常是由服务器主动向客户机发起的,这种模式称为主动模式(相对于服务器而言)。 但是现在多数的防火墙软件只允许用户向外界发起连接,而不允许外界向用户发起连接。 FTP协议提供了一种被动模式来解决这个问题 。 被动模式中,需要建立数据连接时,客户端首先通过控制连接发送PASV命令,告诉服务器采用要被动模式。,主动模式

16、和被动模式,服务器收到命令后,会随机选择一个端口号,在这个端口号上等待连接请求,并将这个端口号通过控制连接传递给客户端。 客户端收到后,会主动发起向服务器所选定端口的连接。由于连接是由客户端发起,所以不会被防火墙过滤掉,能够成功地建立数据连接,传递数据 。,FTP命令,FTP命令通常是由FTP客户端发给服务器的,用来实现登录服务器、查看文件列表、上传、下载文件等功能。FTP命令都通过控制连接来传递 。 USER: 客户端使用USER命令来向服务器表明身份 。 PASS:PASS命令通常是紧接着USER命令,用来向服务器传递用户的口令 。,FTP命令,LIST:列出FTP服务器当前目录下的文件和子目录。 CWD:改变当前目录。 CDUP:回到上一级目录。 PWD:显示当前所在目录。 RETR:下载文件,RETR命令的参数是要下载文件名。 STOR:将本地硬盘的文件上传到FTP服务器上,STOR的参数

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号