计算机网络第二章课件_第1页
计算机网络第二章课件_第2页
计算机网络第二章课件_第3页
计算机网络第二章课件_第4页
计算机网络第二章课件_第5页
已阅读5页,还剩120页未读 继续免费阅读

下载本文档

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

文档简介

1、1第第2章章 应用层应用层 网络应用是计算机网络的重要功能之一。网络应用是计算机网络的重要功能之一。20世纪世纪80年代:年代:基于文本的电子邮件、文件传输、基于文本的电子邮件、文件传输、文本聊天等等。(文本聊天等等。(Email 、FTP)20世纪世纪90年代:年代:Web应用、应用、IP电话、视频会议等。电话、视频会议等。20世纪末:世纪末:即时讯息(即时讯息(ICQ)、)、 P2P对等文件共享对等文件共享。2学习目标和主要内容学习目标学习目标 网络应用的原理和实现方面的知识。网络应用的原理和实现方面的知识。主要内容主要内容应用层概念:应用层概念:应用层协议、客户机与服务器、进程、应用层协

2、议、客户机与服务器、进程、套接字和运输层接口。套接字和运输层接口。应用程序:应用程序:Web、电子邮件、域名系统、电子邮件、域名系统DNS及及P2P对等对等文件共享。文件共享。开发网络应用程序的方法:开发网络应用程序的方法:套接字套接字API编程。编程。3本章内容2.1 应用层协议原理应用层协议原理2.2 Web和和HTTP2.3 FTP 2.4 电子邮件电子邮件2.5 DNS2.6 P2P 文件共享文件共享2.7 TCP的套接字编程的套接字编程2.8 UDP的套接字编程的套接字编程2.9 小结小结4流行的网络应用程序流行的网络应用程序rE-mailrWebr即时讯息即时讯息r远程注册远程注册

3、rP2P文件共享文件共享r多用户网络游戏多用户网络游戏r流式存储视频片段流式存储视频片段r因特网电话因特网电话r实时视频会议实时视频会议r大规模并行计算大规模并行计算编制应用程编制应用程序序5网络应用程序的研发要点网络应用程序的研发要点r写出能够分别写出能够分别在不同端系统运行在不同端系统运行,并通过网络,并通过网络相互通信相互通信的程序。的程序。 如如Web应用程序,由两个可以相互通信的程序组成应用程序,由两个可以相互通信的程序组成浏览器程序:浏览器程序:运行在用户主机上;运行在用户主机上;Web服务器程序:服务器程序:运行在运行在Web服务器主机上。服务器主机上。r注意注意 (Notice

4、)r应用程序软件只在端系统运行,不需在网络核心设备上应用程序软件只在端系统运行,不需在网络核心设备上运行。运行。m网络核心设备无应用层,只有较低层。网络核心设备无应用层,只有较低层。6本节内容2.1.1 网络应用程序体系结构网络应用程序体系结构2.1.2 进程通信进程通信 2.1.3 应用层协议应用层协议 2.1.4 应用所需要的服务应用所需要的服务2.1.5 因特网运输协议提供的服务因特网运输协议提供的服务2.1.6 本书介绍的网络应用本书介绍的网络应用Web、文件传输、电子邮件、目录服文件传输、电子邮件、目录服务、对等文件共享等五个。务、对等文件共享等五个。72.1.1 网络应用程序体系结

5、构网络应用程序体系结构r应用程序体系结构:应用程序体系结构:规定如何在各种端系统上组规定如何在各种端系统上组织应用程序,由研发者设计织应用程序,由研发者设计 。r 三种类型:三种类型: 客户机客户机/ /服务器服务器 对等对等 (P2P) 客户机客户机/服务器与服务器与P2P的混合的混合81、客户机、客户机/服务器体系结构服务器体系结构服务器:服务器: m总是打开总是打开m为为多个客户机多个客户机请求提供服务请求提供服务m永久的永久的IPIP地址地址m可扩展为服务器场(主机群集)可扩展为服务器场(主机群集) 客户机:客户机:m总是打开或间歇打开总是打开或间歇打开m向服务器发出请求向服务器发出请

6、求m具有动态的具有动态的IPIP地址地址m彼此之间彼此之间不直接通信不直接通信 如如Web应用程序:总是打开的应用程序:总是打开的Web服务器为运行在客户机主机上服务器为运行在客户机主机上的浏览器的请求提供服务(接收客户机请求,并发送响应结果)。的浏览器的请求提供服务(接收客户机请求,并发送响应结果)。 服务器响应服务器响应 客户请求客户请求92、纯、纯P2P体系结构体系结构(peer-to-peer) m无(最少)打开无(最少)打开的服务器的服务器m任意端系统任意端系统(对等方)(对等方)可以可以直接通信直接通信m对等方对等方间歇地连接间歇地连接,IPIP地址地址不固定不固定m例:文件分发、

7、因特网电话例:文件分发、因特网电话等。等。可扩展度高、难以管理可扩展度高、难以管理103、客户机、客户机/服务器与服务器与P2P的混合的混合rNapster:MP3文件共享应用程序。文件共享应用程序。 mP2P:对等方直接交换对等方直接交换MP3文件文件m服务器注册服务器注册/定位:定位: 对等方在中心服务器上对等方在中心服务器上注册内容注册内容 对等方查询相同的中心服务器以对等方查询相同的中心服务器以定位内容定位内容r即时讯息:即时讯息:mP2P:两个用户直接聊天:两个用户直接聊天m服务器检测服务器检测/定位:定位: 用户在线时,向中心服务器用户在线时,向中心服务器注册其注册其IP地址地址

8、用户联系中心服务器以用户联系中心服务器以找到聊天伙伴的找到聊天伙伴的IP地址地址112.1.2 进程通信进程通信r进程进程 (process) (process):在主机上运行的程序。在主机上运行的程序。r进程通信:进程通信:同一主机中两个进程间的通信:同一主机中两个进程间的通信:由由操作系统操作系统控制;控制;不同主机中进程间的通信:不同主机中进程间的通信:通过网络交换通过网络交换报文报文进行。进行。 发送进程:发送进程:产生报文并向网络发送;产生报文并向网络发送; 接收进程:接收进程:接收报文,并回送报文。接收报文,并回送报文。121、客户机和服务器进程、客户机和服务器进程r网络应用程序由

9、网络应用程序由成对的进程组成成对的进程组成,并通过网络相互发,并通过网络相互发送报文。送报文。r根据功能分别标示为客户机和服务器根据功能分别标示为客户机和服务器客户机进程:客户机进程:发起通信的进程。发起通信的进程。 服务器进程:服务器进程:等待其他进程联系的进程。等待其他进程联系的进程。 如如Web应用程序中,一个客户机浏览器进程向某个应用程序中,一个客户机浏览器进程向某个Web服务器进程发起联系,交换报文。服务器进程发起联系,交换报文。13说明:说明: P2P结构的应用程序也可分别看成是客户机进程结构的应用程序也可分别看成是客户机进程或服务器进程。或服务器进程。 如,对等方如,对等方A(客

10、户机客户机)请求对等方)请求对等方B(服务器服务器)发送某个文件。发送某个文件。142、套接字、套接字(socket)套接字:套接字:同一台主机内同一台主机内应用层与运输层应用层与运输层之间的接口。之间的接口。 也叫应用程序和网络之间的也叫应用程序和网络之间的应用程序应用程序接口接口API , ,是在是在网络上建立网络应用程序的网络上建立网络应用程序的可编程接口可编程接口。进程具有缓存、变量的TCP套接字套接字主机或服务器进程具有缓存、变量的TCP套接字套接字主机或服务器因特网由操作系统控制由应用研发者控制应用层应用层运输层运输层15进程与套接字关系进程与套接字关系进程类似进程类似房子房子,套

11、接字是进程的,套接字是进程的门门。进程通过进程通过套接字套接字在网络上发送和接收报文。在网络上发送和接收报文。进程具有缓存、变量的TCP套接字套接字主机或服务器进程具有缓存、变量的TCP套接字套接字主机或服务器因特网由操作系统控制由应用研发者控制发送进程:发送进程:把报文推把报文推出门(套接字)。出门(套接字)。传送报文:传送报文:通过下面通过下面网络把报文传送到目网络把报文传送到目的进程门口。的进程门口。接收进程:接收进程:通过其门通过其门(套接字)接收报文(套接字)接收报文 16说明说明应用程序开发者应用程序开发者可以控制可以控制套接字应用层套接字应用层端的全部;端的全部;对套接字的对套接

12、字的运输层端几乎运输层端几乎不能控制不能控制(只能选择运输(只能选择运输层协议、设定几个运输层层协议、设定几个运输层参数等)。参数等)。应用程序开发者选择了一应用程序开发者选择了一个运输层协议,则应用程个运输层协议,则应用程序就建立在由该协议提供序就建立在由该协议提供的运输层服务之上。如的运输层服务之上。如TCP协议。协议。进程具有缓存、变量的TCP套接字主机或服务器进程具有缓存、变量的TCP套接字主机或服务器因特网由操作系统控制由操作系统控制由应用研发者控制由应用研发者控制173、进程寻址、进程寻址主机上的进程可以有多个主机上的进程可以有多个。网络中有多个主机网络中有多个主机,每个主机上有多

13、个进程。,每个主机上有多个进程。r进程识别信息:表示进程识别信息:表示哪台主机上的哪一个进程。哪台主机上的哪一个进程。 源主机上的进程向目的主机上的进程发送报文时,应源主机上的进程向目的主机上的进程发送报文时,应带有接收进程的识别信息(标识)。带有接收进程的识别信息(标识)。r进程寻址:进程寻址: 根据根据进程识别信息进程识别信息找到相应进程。找到相应进程。如何识别如何识别进程?进程?确定主机确定主机确定进程确定进程18进程识别信息(两部分)进程识别信息(两部分)r主机名称或地址:主机名称或地址:网络中的哪一个主机。网络中的哪一个主机。 因特网中,用因特网中,用IP地址地址标识标识(32位,全

14、球唯一位,全球唯一)。)。r进程的标识:进程的标识:主机中的哪一个进程。主机中的哪一个进程。 因特网中,采用因特网中,采用端口号端口号标识标识(port number)。常用的应用程序被指派固定的端口号常用的应用程序被指派固定的端口号(周知端口)周知端口)。 如,如,Web服务进程服务进程(HTTP协议协议):80 邮件服务进程邮件服务进程(SMTP协议协议):25创建一个新的网络应用程序时,必须分配一个新的端创建一个新的网络应用程序时,必须分配一个新的端口号。不重复。口号。不重复。194、用户代理(、用户代理(user agent) 是用户与网络应用程序之间的接口。是用户与网络应用程序之间的

15、接口。如如: :WebWeb应用的用户代理:应用的用户代理:是一些浏览器软件。是一些浏览器软件。 一个通过套接字收发报文,并提供用户接口的进程。一个通过套接字收发报文,并提供用户接口的进程。电子邮件应用程序用户代理:电子邮件应用程序用户代理:是是“邮件阅读器邮件阅读器”。 允许用户进行邮件的撰写和阅读。允许用户进行邮件的撰写和阅读。202.1.3 应用层协议应用层协议 定义了定义了运行在不同端系统上的应用程序运行在不同端系统上的应用程序进程间传递进程间传递报文的格式和方式报文的格式和方式。r具体内容:具体内容: 交换的报文类型:交换的报文类型:如请求报文和响应报文;如请求报文和响应报文;各种报

16、文类型的语法:各种报文类型的语法:报文中的各个字段及描述;报文中的各个字段及描述;字段的语义:字段的语义:字段包含信息的含义;字段包含信息的含义;进程何时、如何发送报文及对报文进行响应的规则。进程何时、如何发送报文及对报文进行响应的规则。21说明说明r公共领域协议:公共领域协议:由标准文档由标准文档RFC定义,如定义,如HTTP。 专用层协议:专用层协议:如如P2P使用的协议。使用的协议。r应用层协议应用层协议是网络应用的一部分。是网络应用的一部分。 如如Web应用,客户机从应用,客户机从Web服务器获得服务器获得“文档文档”。组成:组成:HTML、Web浏览器、浏览器、Web服务器程序,以及

17、服务器程序,以及一个应用层协议一个应用层协议HTTP(超文本传输协议超文本传输协议)等。等。HTTP定义了在浏览器程序和定义了在浏览器程序和Web服务器程序间传输的服务器程序间传输的报文格式和序列。报文格式和序列。 其他协议:电子邮件协议其他协议:电子邮件协议SMTP等等等等222.1.4 应用程序所需要的服务应用程序所需要的服务q应用程序间通信:应用程序间通信:由由运输协议运输协议跨越网络将发送进程的跨越网络将发送进程的报文传输到接收进程的门户报文传输到接收进程的门户 。需要使用运输协议所提供的服务需要使用运输协议所提供的服务。运输协议有多种,提供的服务不同。运输协议有多种,提供的服务不同。

18、进程具有缓存、变量的TCP套接字主机或服务器进程具有缓存、变量的TCP套接字主机或服务器因特网由操作系统控制由应用研发者控制23应用程序需要什么样的运输服务?应用程序需要什么样的运输服务?r可靠的数据传输(无数据丢失)可靠的数据传输(无数据丢失)数据不能丢失的应用:数据不能丢失的应用:如文件传输、金融事务等。如文件传输、金融事务等。能容忍数据丢失的应用:能容忍数据丢失的应用:如多媒体应用。如多媒体应用。 r带宽(数据传输率)带宽(数据传输率)带宽敏感的应用:带宽敏感的应用:需要特定的带宽才能正常工作。需要特定的带宽才能正常工作。 如,因特网电话、其他多媒体应用。如,因特网电话、其他多媒体应用。

19、弹性应用:弹性应用:使用的带宽多或少影响不大。使用的带宽多或少影响不大。 如电子邮件、文件传输以及如电子邮件、文件传输以及Web传输。传输。r定时(数据传输的时间限制)定时(数据传输的时间限制)交互式实时应用:交互式实时应用:对时间敏感,要求时延小。如,因特网对时间敏感,要求时延小。如,因特网电话、视频会议以及多方游戏等。电话、视频会议以及多方游戏等。非实时应用:非实时应用:时延无限制,低更好。时延无限制,低更好。 24典型应用的运输服务要求典型应用的运输服务要求应用程序应用程序文件传输文件传输电子邮件电子邮件Web 文档文档实时音频实时音频/视频视频(因特网电话(因特网电话/视频会议)视频会

20、议)存储音频存储音频/视频视频交互式游戏交互式游戏即时讯息即时讯息数据丢失数据丢失不能丢失不能丢失 不能丢失不能丢失 不能丢失不能丢失 容忍丢失容忍丢失 容忍丢失容忍丢失 容忍丢失容忍丢失 不能丢失不能丢失 带宽带宽弹性弹性弹性弹性弹性弹性音频音频: 5kbps-1Mbps视频视频:10kbps-5Mbps同上同上 几几kbps以上以上弹性弹性时间敏感时间敏感不不不不不不是是, 100 ms是是, , 几秒几秒是是, , 100 ms是和不是是和不是252.1.5 因特网运输协议提供的服务因特网运输协议提供的服务两个运输层协议:两个运输层协议:m用户数据报协议用户数据报协议UDPm传输控制协议

21、传输控制协议TCP 每个协议为调用它们的应用程序提供不同的服务模型。每个协议为调用它们的应用程序提供不同的服务模型。在创建一个新的因特网应用时,要选择其中一个。在创建一个新的因特网应用时,要选择其中一个。 261、TCP服务服务q两个方面:两个方面:面向连接的服务:面向连接的服务:可靠的传输服务:可靠的传输服务:27面向连接的服务面向连接的服务r划分三阶段划分三阶段建立连接(握手过程):建立连接(握手过程): 客户机程序和服务器程序之间互相交换控制信客户机程序和服务器程序之间互相交换控制信息,在两个进程的息,在两个进程的套接字之间建立一个套接字之间建立一个TCP连接连接。传输报文:传输报文:

22、连接是连接是全双工全双工的,即连接双方的进程可以在此连的,即连接双方的进程可以在此连接上同时进行报文收发。接上同时进行报文收发。拆除连接:拆除连接: 应用程序报文发送结束。应用程序报文发送结束。28可靠的传输服务可靠的传输服务通信进程可以通信进程可以无差错、按适当顺序无差错、按适当顺序交付发送的交付发送的数据。数据。 没有数据丢失和重复。没有数据丢失和重复。29拥塞控制拥塞控制 当发送方和接收方之间的网络出现拥塞时,当发送方和接收方之间的网络出现拥塞时,会抑会抑制发送进程速率。制发送进程速率。 对整个网络有益。对整个网络有益。30未提供的服务未提供的服务不确保最小传输速率:不确保最小传输速率:

23、发送进程受拥塞控制机制制约;发送进程受拥塞控制机制制约;不提供时延保证:不提供时延保证:数据传输的时间不确定。数据传输的时间不确定。 TCP协议能保证交付所有的数据,但并不保证这些协议能保证交付所有的数据,但并不保证这些数据传输的速率以及期待的传输时延。数据传输的速率以及期待的传输时延。 TCP协议协议不适合实时应用不适合实时应用。 312、UDP服务服务提供提供最小服务模式最小服务模式运行。运行。无连接:无连接:两个进程通信前没有握手过程;两个进程通信前没有握手过程;不可靠数据传输:不可靠数据传输:不保证报文能够被接收,或收到的不保证报文能够被接收,或收到的报文是乱序到达。报文是乱序到达。没

24、有拥塞控制机制:没有拥塞控制机制:发送进程可以任何速率发送数据发送进程可以任何速率发送数据不提供时延保证:不提供时延保证:r适于实时应用。适于实时应用。32因特网应用、应用协议与运输协议因特网应用、应用协议与运输协议 应用应用 应用层协议应用层协议传输协议传输协议电子邮件电子邮件 SMTP TCP远程终端访问远程终端访问 Telnet TCPWeb HTTP TCP文件传输文件传输 FTP TCP远程文件服务器远程文件服务器 NFS UDP或或TCP流媒体流媒体 HTTP、RTP UDP或或TCP因特网电话因特网电话 SIP、RTP 典型用典型用UDP332.2 Web应用和应用和HTTP协议

25、协议p产生于产生于20世纪世纪90年代初期。年代初期。改变了人们与工作环境内外的交流方式;改变了人们与工作环境内外的交流方式;提升因特网地位;提升因特网地位;生活和工作发生变化;生活和工作发生变化;方便、快捷得到所需要的信息(方便、快捷得到所需要的信息(按需操作按需操作););任何人在任何人在Web上发布信息;上发布信息;超链接和搜索引擎帮助人们浏览超链接和搜索引擎帮助人们浏览Web站点。站点。Google、360搜索、搜狗搜索搜索、搜狗搜索34本节内容2.2.1 HTTP概况概况2.2.2 HTTP连接连接2.2.3 HTTP报文格式报文格式2.2.4 用户与服务器交互:用户与服务器交互:C

26、ookie2.2.5 HTTP内容内容2.2.6 Web缓存缓存 2.2.7 条件条件GET方法方法352.2.1 HTTP概况概况rHTTP(超文本传输协议):(超文本传输协议):HyperText Transfer Protocol 应用层协议,应用层协议,Web的核心。的核心。r包括两部分:包括两部分:客户机程序客户机程序服务器程序服务器程序分别运行在不同的端系统中,通过分别运行在不同的端系统中,通过交换交换HTTP报文报文进行会进行会话。话。qHTTP协议协议定义了报文的格式以及客户机和服务器交换报定义了报文的格式以及客户机和服务器交换报文的方式。文的方式。 36Web常用术语常用术语

27、rWeb页页(文档文档):由若干由若干对象对象组成。组成。 对象:对象:是文件是文件。通过一个。通过一个URL地址地址来寻址。如来寻址。如HTML文件、文件、JPEG图形文件、图形文件、Java小程序等。小程序等。 Web页含有页含有一个基本的一个基本的HTML文件及几个引用对象文件及几个引用对象。 例如,一个例如,一个Web页包含页包含HTML文本和文本和5个个JPEG图形文图形文件(即有件(即有6个对象)。个对象)。 在基本的在基本的HTML文件中,文件中,每个对象可由每个对象可由URL来寻址。来寻址。 超文本标记语言超文本标记语言 统一资源定位符统一资源定位符 37Web常用术语常用术语

28、URL:Uniform Resource Locator。统一资源定位符统一资源定位符。标识万维网标识万维网WWW上的各种文档,全网范围唯一。上的各种文档,全网范围唯一。URL地址组成:地址组成: 存放对象的存放对象的服务器主机名服务器主机名和和对象的路径名对象的路径名。如如 http:/ www.someS / somedepartment / picture.gif 主机名主机名路径名路径名38Web常用术语常用术语r浏览器(客户机):浏览器(客户机):是是Web应用的应用的用户代理用户代理,用于显,用于显示所请求的示所请求的Web页,提供导航功能和配置属性。页,提供导航

29、功能和配置属性。 实现了实现了HTTP协议的客户机端。协议的客户机端。rWeb服务器:服务器:用于存贮用于存贮Web对象(由对象(由URL寻址)。寻址)。 实现实现HTTP协议的服务器端。协议的服务器端。 HTTP协议协议定义了定义了Web客户机客户机 (浏览器浏览器)如何向如何向Web站点请站点请求求Web页,以及服务器如何将页,以及服务器如何将Web页传送给客户机。页传送给客户机。39客户机和服务器之间交互过程客户机和服务器之间交互过程PC 运行Explorer服务器运行Apache Web服务器Mac 运行NavigatorHTTP 请求HTTP 请求HTTP 响应HTTP 响应r客户机

30、客户机: 用户请求一个用户请求一个Web页(如点页(如点击一个超链接),浏览器向击一个超链接),浏览器向服务器服务器发出发出对该页所含对象对该页所含对象的的“HTTP请求报文请求报文”。r服务器:服务器: 接受请求,回发包含请求对接受请求,回发包含请求对象的象的“HTTP响应报文响应报文”40说明说明rHTTP协议使用的协议使用的底层运输协议是底层运输协议是TCP。r工作过程:工作过程: 创建创建TCP连接连接交换报文交换报文关闭关闭TCP连接连接客户机先与服务器客户机先与服务器建立建立TCP连接连接,然后,浏览器和服,然后,浏览器和服务器进程通过务器进程通过套接字访问套接字访问TCP:客户机

31、:客户机:从其套接字接口发送从其套接字接口发送“HTTP“HTTP请求报文请求报文”和接和接收收“响应报文响应报文”;服务器:服务器:从其套接字口接收从其套接字口接收“HTTP“HTTP请求报文请求报文”和发送和发送“响应报文响应报文”。41说明说明TCP提供可靠的数据传输服务:提供可靠的数据传输服务:客户机进程和服务器进客户机进程和服务器进程发出的每个程发出的每个HTTP报文能完整地到达对方。报文能完整地到达对方。rHTTP是是无状态协议:无状态协议:服务器不保存关于客户机的任何服务器不保存关于客户机的任何信息。信息。 Web使用客户机使用客户机/服务器结构,服务器结构,Web服务器总是打开

32、,有一服务器总是打开,有一个固定个固定IP地址,为多个浏览器服务。地址,为多个浏览器服务。422.2.2 HTTP连接连接持久持久HTTP连接连接一个一个TCP连接上可以传连接上可以传送送多个多个Web对象对象传送多个传送多个请求请求/响应响应对对非持久非持久HTTP连接连接每个每个TCP连接上只传送连接上只传送一个一个Web对象对象只传送一个只传送一个请求请求/响应响应对对默认方式下使用持久连接默认方式下使用持久连接431、非持久连接、非持久连接 例,客户机向服务器请求传送一个例,客户机向服务器请求传送一个Web页:页:含有含有一个基本一个基本HTML文件和文件和10个个JPEG图形图形,1

33、1个对象个对象位于同一个服务器上。位于同一个服务器上。HTML文件的文件的URL为:为:http:/www.someS/someDepartment/home.index44工作过程1a. HTTP客户客户初始化一个初始化一个与服务与服务器主机器主机www.someS中中HTTP服务器进程的服务器进程的TCP连接连接 2. HTTP客户发送一个客户发送一个HTTP请请求报文求报文 (包含(包含URL)到)到TCP连接套接字,连接套接字, 报文指明客户报文指明客户需要的需要的Web对象对象someDepartment/home.index1b. www.som

34、eS服务器服务器主机中的主机中的HTTP服务器服务器在在80端端口监听来自口监听来自HTTP客户的客户的TCP连接请求连接请求,收到连接请求,收到连接请求, 接接受受, 建立连接建立连接, 通知客户。通知客户。3. HTTP服务器接收请求报文服务器接收请求报文, 产产生一个生一个响应报文响应报文(包含被请(包含被请求对象)求对象), 并发送到其并发送到其TCP连连接套接字接套接字timeTCP连接连接报文传输报文传输455. HTTP客户机接收包含客户机接收包含HTML文件的响应报文,文件的响应报文,显示并解显示并解析析HTML文件,发现文件,发现10个引个引用的用的 jpe

35、g对象对象6. 对对10个个jpeg对象重复步骤对象重复步骤154. HTTP服务器关闭服务器关闭TCP 连接连接time46说明:说明:r每个每个TCP连接在服务器返回对象后关闭连接在服务器返回对象后关闭(非持久)(非持久)。r每个每个TCP连接连接只传输一个请求报文和一个响应报文只传输一个请求报文和一个响应报文; 上例中,要建立上例中,要建立11个个TCP连接。连接。r浏览器浏览器可同时打开多个可同时打开多个连接:连接:并行的并行的TCP连接:并行数大于连接:并行数大于1。默认打开。默认打开510个。个。串行的串行的TCP连接:最大并行数为连接:最大并行数为1。47请求一个请求一个HTML

36、文件所需时间文件所需时间 即即从客户机请求基本从客户机请求基本HTML文件开始,到用户收到整文件开始,到用户收到整个文件为止所花时间。个文件为止所花时间。r往返时延往返时延RTTRTT(Round-Trip TimeRound-Trip Time)r一个小分组从客户机到服务器,再回到客户机所花时一个小分组从客户机到服务器,再回到客户机所花时间。包括传播时延、排队时延以及处理时延。间。包括传播时延、排队时延以及处理时延。48rTCP连接的连接的“三次握手三次握手”过程过程客户机发送一个客户机发送一个TCP连接请求连接请求报文报文 服务器回送一个服务器回送一个TCP确认响应确认响应报文报文 客户机

37、向服务器发送一个包含客户机向服务器发送一个包含“ HTTP请求请求”与与“TCP确确认认”的报文的报文r总响应时间:总响应时间:两个两个RTT时延加时延加上服务器发送文件的时间上服务器发送文件的时间 总计总计 = 2RTT+文件传输时间文件传输时间传输文件传输文件的时间的时间发起发起TCP连接连接RTT请求文件请求文件RTT接收接收文件文件时间时间三次握手三次握手建立建立TCP连接连接 交换报文交换报文49非持久连接缺点非持久连接缺点r服务器负担重:服务器负担重:每一个请求对象建立和维护一个新的每一个请求对象建立和维护一个新的连接。连接。r每一个对象的传输时延长:每一个对象的传输时延长:包含两

38、个包含两个RTT时延,一个时延,一个用于用于TCP建立,一个用于请求和接收对象。建立,一个用于请求和接收对象。502、持久连接、持久连接q服务器在发送响应后保持该服务器在发送响应后保持该TCP连接:连接:相同客户机相同客户机与服务器之间的后续请求和响应报文与服务器之间的后续请求和响应报文通过通过相同的连接进行传送。相同的连接进行传送。 如,一个如,一个Web页的所有对象可以通过一个持久页的所有对象可以通过一个持久TCP连连接传送。接传送。或或同一服务器上的多个同一服务器上的多个Web页页也可以通过一个持久也可以通过一个持久TCP连接传送给同一个客户机。连接传送给同一个客户机。r连接经一定连接经

39、一定时间间隔时间间隔(超时间隔超时间隔)未被使用未被使用,服务器就,服务器就关关闭该连接。闭该连接。511、HTTP请求报文请求报文r客户机向服务器发送。客户机向服务器发送。ASCII文本形式,文本形式,易读。易读。 例:例:GET /somedir/page.html HTTP/1.1Host: User-agent: Mozilla/4.0Connection: close Accept-language:fr (另外的回车,换行) 请求行请求行(GET, POST, HEAD命令命令)首部行首部行回车,换行指示回车,换行指示报文的结束报文的结束对象对

40、象URL路径名路径名 版本版本 对象主机对象主机浏览器类型浏览器类型非持久非持久方法(命令)方法(命令)GET:请求一个对象。:请求一个对象。POST:提交表单(添加信息)。:提交表单(添加信息)。HEAD:请求返回对象响应报文首部:请求返回对象响应报文首部返回对象的语言返回对象的语言52HTTP请求报文通用格式请求报文通用格式请求行请求行 首部行首部行 实体主体实体主体 方法方法版本版本 首部字段名首部字段名首部字段名首部字段名值值值值532、HTTP 响应报文响应报文HTTP/1.1 200 OK Connection closeDate: Thu, 06 Aug 1998 12:00:1

41、5 GMT 服务器服务器: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 . Content-Length: 6821 Content-Type: text/html data data data data data . 状态行状态行(版本、状态码、状态短语)(版本、状态码、状态短语)首部行实体:数据,如请求的HTML文件请求成功请求成功关闭连接关闭连接发送日期发送日期对象创建或修对象创建或修改日期改日期对象长度对象长度服务器到客户机的回答服务器到客户机的回答54HTTP响应状态码200 OKm请求成功,请求的对象在这个报文后面请求成功

42、,请求的对象在这个报文后面301 Moved Permanentlym请求的对象已转移,新的请求的对象已转移,新的URL在响应报文的在响应报文的Location:首部行中首部行中指定指定400 Bad Requestm请求报文不为服务器理解请求报文不为服务器理解404 Not Foundm请求的文档没有在该服务器上发现请求的文档没有在该服务器上发现505 HTTP Version Not Supportedm服务器不支持请求报文使用的服务器不支持请求报文使用的HTTP版本版本r在服务器到客户机响应报文中的首行。在服务器到客户机响应报文中的首行。55自行试验HTTP (客户机侧)1. Telne

43、t 到某个到某个Web服务器上:服务器上:打开到位于打开到位于的端口的端口80(默认默认的的HTTP服务器端口服务器端口).键入的任何东西将发送到位于键入的任何东西将发送到位于的的80端口端口telnet 802. 键入一个键入一个GET HTTP请求:请求:GET /ross/ HTTP/1.1Host: 向向HTTP服务器发服务器发送最小的送最小的GET请求请求3. 得到由得到由HTTP服务器发送的响应报文服务器发送的响应报文!反馈结果565758592.2.4用户与服务器交互:用户与服务器交

44、互:Cookie HTTP服务器是服务器是无状态无状态的,不保存客户信息。的,不保存客户信息。rCookie:允许允许Web站点跟踪、识别用户;服务器可以站点跟踪、识别用户;服务器可以限制用户访问,或把内容与用户身份关联。限制用户访问,或把内容与用户身份关联。 许多重要的许多重要的Web站点使用站点使用cookies。r包括四个部分包括四个部分1)在在HTTP响应报文中有一个响应报文中有一个cookie 首部行首部行2)在在HTTP请求报文中有一个请求报文中有一个cookie 首部行首部行3)用户主机中保留有一个用户主机中保留有一个 cookie 文件并由浏览器管理文件并由浏览器管理4) We

45、b站点的后端数据库保存站点的后端数据库保存cookie60例mSusan总是从相同的总是从相同的PC访问因特网访问因特网m她首次访问一个特定的电子商务站点她首次访问一个特定的电子商务站点m当起始当起始HTTP请求到达站点时,站点产生一个独特请求到达站点时,站点产生一个独特的的ID,并为,并为ID在后端数据库中生成一个表项在后端数据库中生成一个表项61工作过程客户机客户机服务器服务器普通HTTP请求报文普通HTTP响应+Set-cookie: 1678 普通HTTP请求报文cookie: 1678普通HTTP响应报文普通HTTP请求报文cookie: 1678普通HTTP响应报文特定cookie

46、动作特定cookie动作服务器为用户生成ID 1678后端数据库中的表项访问访问Cookie file识别码识别码 1678Cookie file保存保存1678 Cookie file识别码识别码 1678一个星期以后:62rCookie用途用途身份认证身份认证虚拟购物车虚拟购物车(跟踪用户购买的物品跟踪用户购买的物品)推荐广告推荐广告用户会话状态用户会话状态 (Web e-mail)rCookie缺陷缺陷站点可以知道用户许多信息站点可以知道用户许多信息不利用户隐私保护不利用户隐私保护632.2.5 HTTP内容内容传输传输Web页面所含对象:页面所含对象:如如HTML文件、文件、JPEG文

47、件、文件、Java小应用程序等等。小应用程序等等。可以传输其他类型的文件:可以传输其他类型的文件:如传输如传输XML(可扩充的标(可扩充的标识语言)文件。识语言)文件。P2P文件共享中:文件共享中:作为文件传输协议使用。作为文件传输协议使用。用于流式存储的音频和视频。用于流式存储的音频和视频。 642.2.6 Web缓存缓存rWeb缓存器缓存器(Web cache):也叫也叫代理服务器代理服务器。 能够代表能够代表起始服务器起始服务器来满足来满足HTTP请求的网络实体。请求的网络实体。保存最近请求过的对象的副本。保存最近请求过的对象的副本。可在客户机或服务器工作,也可在中间系统工作。可在客户机

48、或服务器工作,也可在中间系统工作。r起始(原始)服务器起始(原始)服务器(origin server):对象最初存放并对象最初存放并始终保持其拷贝的服务器。始终保持其拷贝的服务器。目标目标: 代替原始服务器满足代替原始服务器满足HTTP请求。请求。65使用使用Web缓存器缓存器r用户配置浏览器用户配置浏览器: 所有所有Web 访问经由缓存访问经由缓存r浏览器向缓存发送所有浏览器向缓存发送所有HTTP请求请求m对象在缓存中:对象在缓存中:缓存缓存器返回对象器返回对象m不在:不在:缓存向原始服缓存向原始服务器发出请求,接收务器发出请求,接收对象后转发给客户机对象后转发给客户机客户机代理服务器客户机

49、HTTP 请求HTTP 请求HTTP 响应HTTP 响应HTTP 请求HTTP 响应起始服务器起始服务器客户机通过客户机通过Web缓存器请求对象。缓存器请求对象。66具体操作过程具体操作过程r浏览器:浏览器:建立一个到缓存建立一个到缓存的的TCP连接,并向缓存发连接,并向缓存发送一个对该对象送一个对该对象HTTP请求请求rWeb缓存器:缓存器:检查本地是否检查本地是否有该对象的拷贝。有该对象的拷贝。有:有:就用就用HTTP响应报文向响应报文向浏览器转发该对象浏览器转发该对象例:假设浏览器请求对象例:假设浏览器请求对象 /campus.gif客户机

50、代理服务器客户机HTTP 请求HTTP 请求HTTP 响应HTTP 响应HTTP 请求HTTP 响应起始服务器起始服务器67 缓存在缓存在TCP连接上发送获取连接上发送获取该对象的请求。该对象的请求。 起始服务器收到请求,向缓起始服务器收到请求,向缓存发送该对象的存发送该对象的HTTP响应响应 缓存接收该对象,存储一份缓存接收该对象,存储一份在本地中,并通过在本地中,并通过HTTP响响应报文向浏览器转发该对象应报文向浏览器转发该对象(通过已经建立的(通过已经建立的TCP连连接)。接)。客户机代理服务器客户机HTTP 请求HTTP 请求HTTP 响应HTTP 响应HTTP 请求HTTP 响应起始

51、服务器起始服务器没有:没有:与该对象的起始服务器打开一个与该对象的起始服务器打开一个TCP连接。连接。 客户机客户机 Web缓存器缓存器起始服务器起始服务器68说明说明rWeb缓存器既可以是服务器也可以是客户机:缓存器既可以是服务器也可以是客户机:当它接收浏览器请求并发回响应时,是当它接收浏览器请求并发回响应时,是服务器服务器;当它向起始服务器发出请求并接收响应时,是当它向起始服务器发出请求并接收响应时,是客户机客户机69Web缓存优点缓存优点r减少客户机请求的响应时间减少客户机请求的响应时间: 客户机客户机 Web缓存器缓存器起始服务器起始服务器 高速链路高速链路 r减少机构内部网络与因特网

52、连接链路上的通信量:减少机构内部网络与因特网连接链路上的通信量: 降低开销,改善各种应用的性能。降低开销,改善各种应用的性能。702.2.7 条件条件GET方法方法r高速缓存:高速缓存:减少响应时间;减少响应时间;存放在缓存中的对象拷贝可能是旧的存放在缓存中的对象拷贝可能是旧的。即保存在起始。即保存在起始Web服务器中的对象可能已经被修改。服务器中的对象可能已经被修改。r条件条件GET方法:方法:使使缓存器能够证实其保存的对象是否为最新。缓存器能够证实其保存的对象是否为最新。如果缓存中是最新对象版本,可继续使用,起始如果缓存中是最新对象版本,可继续使用,起始Web服务器就不需重新发送该对象。服

53、务器就不需重新发送该对象。71条件条件GET方法使用方法使用rWeb服务器回发服务器回发响应报文响应报文:包括对象的最后修改时间:包括对象的最后修改时间 Last-modified:date1r缓存检查缓存检查Web服务器中的该对象是否已被修改,发送服务器中的该对象是否已被修改,发送一个一个条件条件GET请求报文请求报文: If-modified-since: date1告诉服务器,仅当告诉服务器,仅当自指定日期之后该对象被修改过,自指定日期之后该对象被修改过,才发送该对象。才发送该对象。若若Web服务器中的该对象未被修改,则响应报文含有服务器中的该对象未被修改,则响应报文含有 304 Not

54、 Modified,并且实体为空。,并且实体为空。722.3 文件传输协议:文件传输协议:FTP 本地主机上的用户,向远程主机上传或者下载文件。本地主机上的用户,向远程主机上传或者下载文件。 用户通过一个用户通过一个FTP用户代理用户代理与与FTP服务器交互。服务器交互。文件传输FTP服务器FTP用户接口FTP客户机本地文件系统远程文件系统主机上的用户上传上传下载下载73文件传输过程用户提供远程主机的主机名:用户提供远程主机的主机名:在本地主机的在本地主机的FTP客户机客户机进程与远程主机进程与远程主机FTP服务器进程之间服务器进程之间建立建立TCP连接连接;提供用户标识和口令:提供用户标识和

55、口令:在该在该TCP连接上向服务器传送。连接上向服务器传送。服务器验证通过后,进行文件传送(双向):服务器验证通过后,进行文件传送(双向): 将本地文件系统中的文件传送到远程文件系统(将本地文件系统中的文件传送到远程文件系统(上传上传) 或从远程文件系统中得到文件(或从远程文件系统中得到文件(下载下载)文件传输FTP服务器FTP用户接口FTP客户机本地文件系统远程文件系统主机上的用户FTP工具7475FTP与与HTTP比较比较 都是文件传输协议,并运行在都是文件传输协议,并运行在TCP上。上。 FTP使用了两个并行的使用了两个并行的TCP连接连接: 控制连接:控制连接: 数据连接:数据连接:F

56、TP客户机FTP服务器TCP 控制连接端口 21TCP 数据连接端口2076控制连接控制连接用于在两主机间用于在两主机间传输控制信息传输控制信息(如用户标识、口令等)(如用户标识、口令等)FTP会话开始前,会话开始前,FTP的客户机与服务器在的客户机与服务器在21号端口号端口上建立。上建立。FTP的客户机通过该连接发送用户标识和口令,或改的客户机通过该连接发送用户标识和口令,或改变远程目录的命令。变远程目录的命令。FTP客户机FTP服务器TCP 控制连接端口 21TCP 数据连接端口2077数据连接数据连接 用于准确用于准确传输文件传输文件。当服务器收到一个文件传输的命令后当服务器收到一个文件

57、传输的命令后(从远程主机上读从远程主机上读或写或写),在在20端口端口发起一个到客户机的数据连接。发起一个到客户机的数据连接。在该数据连接上传送一个文件并关闭连接。在该数据连接上传送一个文件并关闭连接。m控制连接是持久的控制连接是持久的:在整个用户会话期间一直保持;在整个用户会话期间一直保持;m数据连接是非持久的数据连接是非持久的:会话中每进行一次文件传输,会话中每进行一次文件传输,都需要建立一个新的数据连接。都需要建立一个新的数据连接。FTP客户机FTP服务器TCP 控制连接端口 21TCP 数据连接端口2078 FTP的控制信息是的控制信息是带外带外传送传送(out-of-band):):

58、 使用分离的控制连接;使用分离的控制连接; HTTP的控制信息是的控制信息是带内带内传输传输(in-band): 请求和响应都是在传输文件的请求和响应都是在传输文件的TCP连接中发送。连接中发送。FTP协议是协议是有状态有状态的:的: FTP服务器对每个活动用户会话的状态进行追服务器对每个活动用户会话的状态进行追踪,并保留;限制同时会话的总数。踪,并保留;限制同时会话的总数。 HTTP协议是协议是无状态无状态的:的:不对用户状态进行追踪。不对用户状态进行追踪。79FTP命令命令, 响应响应命令示例命令示例:r经控制信道以经控制信道以ASCII 文本发文本发送送USER usernamePASS

59、 passwordLIST返回当前目录中的文件返回当前目录中的文件列表列表RETR filename获取获取(get) 文件文件STOR filename 存储存储 (puts)文件到远程主机文件到远程主机返回码示例:返回码示例:r状态码和短语状态码和短语(如在如在HTTP中中的那样的那样)331 Username OK, password required125 data connection already open; transfer starting425 Cant open data connection452 Error writing file80 电子邮件快速、多方接收,包含附

60、件、超链电子邮件快速、多方接收,包含附件、超链接、图像、声音、视频等等。接、图像、声音、视频等等。 电子邮件协议电子邮件协议应用层协议应用层协议。81因特网电子邮件系统的总体结构因特网电子邮件系统的总体结构三部分:三部分:用户代理用户代理邮件服务器邮件服务器简单邮件传输协议简单邮件传输协议SMTP用户邮箱用户邮箱输出输出报文队列报文队列邮件邮件服务器服务器用户用户代理代理用户用户代理代理用户用户代理代理邮件邮件服务器服务器用户用户代理代理用户用户代理代理邮件邮件服务器服务器用户用户代理代理SMTPSMTPSMTP电子邮件地址电子邮件地址用户邮箱名用户邮箱名主机名主机名821、用户代理、用户代理

温馨提示

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

评论

0/150

提交评论