您的位置:首页 > 理论基础 > 计算机网络

《计算机网络 自顶向下方法》 - 学习笔记 - 第二章

2014-01-24 20:16 549 查看
第二章 应用层
一、网络应用程序体系结构

1. 客户机/服务器结构(C/S):有一个总是打开的主机称为服务器,他服务于来自许多其他称为客户机的主机请求。

2. 点对点体系结构(P2P):自扩展的对等网络,每一个主机既可以作为服务器,也可作为客户机。

二、进程通信

1. 客户机和服务器进程:网络应用程序由不同计算机之间成对的进程组成,通过网络相互发送报文进行通信,分别标识为客户机(发起通信)等待联系的是服务器。

2. 进程与计算机网络之间的接口:进程通过套接字(Socket)的软件接口在网络上发送和接收报文,通过其API可以选择运输层协议(TCP/UDP),设定一些运输层参数。

三、可供应用程序使用的运输层服务:

1. 衡量服务的标准:

A. 可靠的数据传输:数据能否正确地完全地交付给该应用程序的另一端

B. 吞吐量:进程间交付bit流的速率是否能为应用所接受

C. 定时:排队、处理、传播等延时是否有严格的约束。

2. 因特网提供的运输服务:

1. TCP服务:面向连接的可靠数据传输服务(简介)

2. UDP服务:无连接的不可靠数据传输服务(简介)

四、应用层协议

1. 协议的基本概念:

A. 交换报文的类型:请求报文与响应报文

B. 报文类型及语法:特定报文中各个字段的详细描述

C. 字段的语义:包含在字段中信息的含义

D. 字段的响应规则:进程何时、如何发送报文以及如何响应

2. Web应用和HTTP协议:

A. HTTP概况:HTTP即是超文本传送协议,其使用TCP作为运输层协议,一旦连接建立,客户端和服务器通过套接字访问TCP来传输和接收HTTP报文,因为HTTP服务器不保存客户机的任何信息,所以HTTP是一个无状态协议,一次完整的HTTP请求的往返时间(RTT)就是请求文件的 传输时间。

B. 非持久连接及其过程:例子:Web服务器传输Web界面过程

1. HTTP客户机在进程端口80发起一个到服务器www.someWeb.com的TCP连接,80是HTTP的默认端口,客户机和服务器分别有一个套接字与连接关联。

2. HTTP客户机经过其套接字发送一段HTTP请求报文,包含路径/home.index

3. HTTP服务器经过其套接字接收请求报文,从其磁盘检索出/home.index并在一个HTTP响应报文中封装对象,通过套接字发送给客户机。

4. HTTP服务器进程通知TCP断开TCP连接(在报文完整被接收后)

5. HTTP客户机接收响应报文,TCP连接关闭,从报文中提取文件,若有其他对象引用,重复上4步(TCP连接是可以串行可以并行)

C. 持久连接:针对非持久连接的缺点:必须为每一个请求对象建立并维护一个全新的连接,给服务器TCP缓冲区和变量待来的负担,持久连接中后续请求通过相同的连接进行传送,经过一定间隔时间连接会自动关闭。

D. HTTP的报文格式:

1. HTTP请求报文:

GET /someWeb/home.index HTTP/1.1 -请求行:

Host: www.someWeb.com - 首部行:定义目标主机

Connection: close

User-agent: Mozilla/4.0

Accept-language: cn

2.

E. 用Cookie实现用户和服务器的交互:

F. Web缓存:

G. 条件GET方法:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: