计算机网络学习笔记——应用层

一、应用层概述

二、客户/服务器方式(C/S方式)和对等方式(P2P方式)

客户/服务器(Client/Server,C/S)方式

服务器总是处于运行状态,并等待客户的服务请求。服务器具有固定端口号(例如HTTP服务器的默认端口号为80),而运行服务器的主机也具有固定的IP地址。

是因特网上传统的、同时也是最成熟的方式

通常是服务集中型的,即应用服务集中在网络中比客户计算机少得多的服务器计算机上。

对等(Peer-to-Peer,P2P)方式

对等方相互之间直接通信,每个对等方既是服务的请求者,又是服务的提供者。

基于P2P的应用是服务分散型的,因为服务不是集中在少数几个服务器计算机中,而是分散在大量对等计算机中

最突出特性之一就是它的可扩展性。因为系统每增加一个对等方,不仅增加的是服务的请求者,同时也增加了服务的提供者,系统性能不会因规模的增大而降低。

P2P方式具有成本上的优势,因为它通常不需要庞大的服务器设施和服务器带宽。

三、动态主机配置协议DHCP

DHCP的作用

DHCP的工作过程

DHCP中继代理

四、域名系统DNS(Domain Name System)

域名系统DNS的作用

因特网采用层次树状结构的域名结构

域名的结构由若干个分量组成,各分量之间用"点"隔开,分别代表不同级别的域名。

... .三级域名.二级域名.顶级域名

各级域名由其上一级的域名管理机构管理

【举例】因特网的域名空间

域名解析的过程

递归查询

迭代查询

由于递归查询对于被查询的域名服务器负担太大,通常采用以下模式:从请求主机到本地域名服务器的查询是递归查询,而其余的查询是迭代查询

  • 为了提高DNS的查询效率,在域名服务器中广泛地使用了高速缓存,用来存放最近查询过的域名以及从何处获得域名映射信息的记录。
  • 由于域名到IP地址的映射关系并不是永久不变,为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器并删除超过合理时间的项(例如,每个项目只存放两天)。
  • 不但在本地域名服务器中需要高速缓存,在用户主机中也很需要。许多用户主机在启动时从本地域名服务器下载域名和IP地址的全部数据库,维护存放自己最近使用的域名的高速缓存,并且只在从缓存中找不到域名时才向域名服务器查询。同理,主机也需要保持高速缓存中内容的正确性。

五、文件传送协议FTP((File Transfer Protocol)

FTP提供交互式的访问,允许客户指明文件的类型与格式(如指明是否使用ASCII码),并允许文件具有存取权限(如访问文件的用户必须经过授权,并输入有效的口令)。

FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。

FTP的常见用途是在计算机之间传输文件,尤其是用于批量传输文件。

FTP的另一个常见用途是让网站设计者将构成网站内容的大量文件批量上传到他们的Web服务器

FTP的基本工作原理

六、电子邮件

电子邮件系统采用客户/服务器方式,

电子邮件系统的三个主要组成构件:用户代理,邮件服务器,以及电子邮件所需的协议

简单邮件传送协议SMTP(Simple MailTransfer Protocol)的基本工作原理

一个电子邮件有信封和内容两部分,而内容又由首部和主体两部分构成。

SMTP协议只能传送ASCII码文本数据,不能传送可执行文件或其他的二进制对象,从而提出了多用途因特网邮件扩展MIME:(Multipurpose Intemet Mail Extensions)

常用的邮件读取协议有以下两个:

邮局协议POP(Post0ffice Protocol):用户只能以下载并删除方式或下载并保留方式从邮件服务器下载邮件到用户方计算机。不允许用户在邮件服务器上管理自己的邮件。(例如创建文件夹,对邮件进行分类管理等)。

因特网邮件访问协议IMAP(InternetMessage AccessProtocol):功能比POP3强大的邮件读取协议。用户在自己的计算机上就可以操控邮件服务器中的邮箱,就像在本地操控一样,因此IMAP是一个联机协议

基于万维网的电子邮件:

通过浏览器登录(提供用户名和口令)邮件服务器万维网网站就可以撰写、收发、阅读和管理电子邮件。这种工作模式与IMAP很类似

不同的是用户计算机无需安装专门的用户代理程序,只需要使用通用的万维网浏览器。

这种工作模式在用户浏览器与邮件服务器网站之间使用HTTP协议,而邮件服务器之间使用SMTP协议。

七、万维网WWW

HTTP/1.0 采用非持续连接方式 。在该方式下,每次浏览器要请求一个文件都要与服务器建立TCP连接当收到响应后就立即关闭连接。

每请求一个文档就要有两倍的RTT的开销。若一个网页上有很多引用对象(例如图片等),那么请求每一个对象都需要花费2RTT的时间。

HTTP/1.1 采用持续连接方式 。在该方式下,万维网服务器在发送响应后仍然保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文。为了进一步提高效率,HTTP/1.1的持续连接还可以使用流水线方式工作,即浏览器在收到HTTP的响应报文之前就能够连续发送多个请求报文。

HTTP的报文格式

HTTP是面向文本的,其报文中的每一个字段都是一些ASCII码串,并且每个字段的长度都是不确定的。

状态码

使用Cookie在服务器上记录用户信息

早期的万维网应用非常简单,仅仅是用户查看存放在不同服务器上的各种静态的文档。因此HTTP被设计为一种无状态 的协议。

现在,用户可以通过万维网实现各种复杂的应用,这些应用往往需要万维网服务器能够识别用户。

Cookie提供了一种机制使得万维网服务器能够"记住"用户,而无需用户主动提供用户标识信息。也就是说,Cookie是一种对无状态的HTTP进行状态化的技术

万维网缓存与代理服务器

万维网缓存又称为Web缓存(Web Cache),可位于客户机,也可位于中间系统上,位于中间系统上的Web缓存又称为代理服务器(Proxy Server)。

Web缓存把最近的一些请求和响应暂存在本地磁盘中。当新请求到达时,若发现这个请求与暂时存放的请习相同,就返回暂存的响应,而不需要按URL的地址再次去因特网访问该资源。

相关推荐
添砖java_8574 分钟前
TCP流套接字编程
网络·网络协议·tcp/ip
ZachOn1y11 分钟前
计算机网络:运输层 —— TCP 的超时重传机制
网络·网络协议·tcp/ip·计算机网络·tcp·超时重传
稻草人ZZ44 分钟前
Keepalived部署
linux·服务器·网络·keepalived
黑客Ash1 小时前
网络安全提示
网络·安全·web安全
叫我龙翔1 小时前
【项目日记】仿mudou的高并发服务器 --- 实现缓冲区模块,通用类型Any模块,套接字模块
linux·运维·服务器·网络·c++
程序员洲洲2 小时前
使用青果代理IP爬取豆瓣TOP250电影数据
网络·网络协议·tcp/ip
Huazzi.2 小时前
免费好用的静态网页托管平台全面对比介绍
前端·网络·github·web
张小小大智慧2 小时前
HTTP 协议应用场景
网络·网络协议·http
安晴晚风2 小时前
HTTP有哪些风险?是怎么解决的?
网络·网络协议·http