计算机网络:6应用层

概述

客户/服务器方式和对等方式

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

客户和服务器是指通信中所涉及的两个应用进程。

客户/服务器方式所描述的是进程之间服务和被服务的关系。

服务器总是处于运行状态,并等待客户的服务请求。

C/S方式是因特网上传统的、同时也是最成熟的方式,很多我们熟悉的网络应用采用的都是C/S方式。包括万维网WWW、电子邮件、文件传输FTP等。

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

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

动态主机配置协议DHCP

动态主机配置协议DHCP可为计算机自动配置网络参数,使得计算机"即插即联网"(Plug-and-Play Networking)。DHCP目前是因特网草案标准[RFC 2131,RFC 2132]。

中继代理

域名

早在1983年,因特网就开始采用层次结构的命名树作为主机的名字(即域名),并使用分布式的域名系统DNS。

DNS使大多数域名都在本地解析,仅少量解析需要在因特网上通信,因此系统效率很高。






解析:递归查询,迭代查询


为了提高DNS的查询效率,并减轻根域名服务器的负荷和减少因特网上的DNS查询报文数量,在域名服务器中广泛地使用了高速缓存。高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。

由于域名到IP地址的映射关系并不是永久不变,为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器并删除超过合理时间的项(例如,每个项目只存放两天)。

文件传送协议FTP

文件传送协议(File Transfer Protocol,FTP)是因特网上使用得最广泛的文件传送协议。

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

主动模式:

被动模式:


电子邮件



简单邮件传送协议SMTP,多用途因特网邮件扩展 MIME


SMTP协议只能传送ASCII码文本数据,不能传送可执行文件或其他的二进制对象。

为解决SMTP传送非ASCII码文本的问题,提出了多用途因特网邮件扩展 (Multipurpose Internet Mail Extensions,MIME)。

邮局协议(Post Office Protocol,POP),因特网邮件访问协议(Internet Message Access Protocol,IMAP)





万维网

万维网(World Wide Web,WWW)并非某种特殊的计算机网络。它是一个大规模的、联机式的信息储藏所,是运行在因特网上的一个分布式应用。

为了方便地访问在世界范围的文档,万维网使用统一资源定位符URL来指明因特网上任何种类"资源"的位置。

HTTP 超文本传输协议

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




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

现在,用户可以通过万维网进行各种复杂的应用,如网上购物、电子商务等。这些应用往往需要万维网服务器能够识别用户。

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

web缓存=代理服务器



相关推荐
clisk17 分钟前
GO语言入门之准备
开发语言·后端·golang
techlead_krischang28 分钟前
合合信息大模型“加速器”重磅上线
后端·go
Jinyi50334 分钟前
Spring Boot 高级配置:如何轻松定义和读取自定义配置
java·spring boot·后端·spring·java-ee·maven·intellij-idea
虫小宝40 分钟前
Spring Boot中的API文档生成
java·spring boot·后端
秋刀鱼_(:з」∠)_别急1 小时前
如何获取歌曲id---cloudmusic
后端·爬虫·python·计算机网络·ajax·okhttp·xhr
concisedistinct1 小时前
Perl 语言开发(八):子程序和模块
开发语言·后端·perl
AI小智1 小时前
Agent智能体?我们要的到底是什么
后端
hello-alien1 小时前
ASP.NET Core----基础学习04----Model模型的创建 & 服务的注入
学习·c#·asp.net·model
Java4ye4 小时前
Netty 是如何解析 Redis RESP 协议的——请求篇
后端
刘铸纬11 小时前
Golang中defer和return顺序
开发语言·后端·golang