计算机网络: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缓存=代理服务器



相关推荐
山岚的运维笔记10 小时前
SQL Server笔记 -- 第73章:排序/对行进行排序
数据库·笔记·后端·sql·microsoft·sqlserver
苍何11 小时前
豆包还能这么玩?附 13 大隐藏玩法,效率起飞(建议收藏)
后端
苍何11 小时前
Kimi 版 OpenClaw 来了,5000+ Skills 随便用,确实给力!
后端
百锦再11 小时前
Jenkins 全面精通指南:从入门到脚本大师
运维·后端·python·servlet·django·flask·jenkins
forestsea12 小时前
优雅终结启动顺序噩梦:ObjectProvider —— Spring 4.3 开始引入
java·后端·spring
小楼v12 小时前
⭐解锁RAG与Spring AI的实战应用(万字详细教学与完整步骤流程实践)
java·后端·rag·spring ai·ai大模型应用
毕设源码-小云学姐12 小时前
计算机毕业设计springboot医疗档案管理系统 基于 SpringBoot 的电子医疗档案管理系统的设计与实现 SpringBoot 框架下的医疗档案信息化管理系统开发
spring boot·后端·课程设计
那我掉的头发算什么12 小时前
【SpringBoot】一篇文章讲清楚拦截器所有知识
java·spring boot·后端·spring
Loo国昌12 小时前
【AI应用开发实战】 03_LangGraph运行时与状态图编排:从直接执行到图编排的演进之路
人工智能·后端·python·自然语言处理·prompt
普通网友15 小时前
PL/SQL语言的正则表达式
开发语言·后端·golang