概述
第二章 应用层
一、网络应用程序体系结构
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方法:
最后
以上就是害怕眼神为你收集整理的《计算机网络 自顶向下方法》 - 学习笔记 - 第二章的全部内容,希望文章能够帮你解决《计算机网络 自顶向下方法》 - 学习笔记 - 第二章所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复