应用层协议

应用层协议定义了什么

应用层协议定义了运行在不同端系统上的应用程序进程如何相互传递消息。特别是定义了:
交换的消息类型,如请求消息和响应消息。
各种消息类型的语法,如消息中的各个字段及其详细描述。
字段的语义,即包含在字段中的信息的含义。
进程何时、如何发送消息及对消息进行响应的规则。
有些应用层协议是由RFC文档定义的,因此它们位于公共领域,例如HTTP。
有些应用层协议是公司或者个人私有的,位于私人领域,例如QQ

应用层具体协议简介

(1)域名系统( DNS):用于实现网络设备名字到IP地址映射的网络服务。
(2)文件传输协议 (FTP):用于实现交互式文件传输功能。
(3)简单邮件传送协议( SMTP):用于实现电子邮箱传送功能。(MIME,POP3,IMAP)
(4)超文本传输协议( HTTP):用于实现WWW服务。
(5)简单网络管理协议( SNMP):用于管理与监视网络设备(路由器,交换机等)。
(6)远程登录协议(Telnet):用于实现远程登录功能。

在这里插入图片描述

域名系统DNS

例:某用户通过主机A浏览西安交大的主页 www.xjtu.edu.cn

  1. A向本地域名服务器DNS查询
  2. 如果DNS上有www.xjtu.edu.cn的记录,就立即返回IP地址给主机A
  3. 如果DNS上没有该域名记录,则DNS向根域名服务器发出查询请求
  4. 根域名服务器把负责cn域的顶级域名服务器B的IP地址告诉DNS
  5. DNS向B查询获得二级域名服务器C的IP地址,最终迭代查询到www.xjtu.edu.cn的ip直接返回DNS

HTTP(超文本传输协议)

具体原理见该篇文章
HTTP功能

顾名思义,HTTP提供了访问超文本信息的功能,是WWW浏览器和WWW服务器之间的应用层通信协议。一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。
ps:万维网
万维网是存储在Internet计算机中、数量巨大的文档的集合。这些文档称为页面,它是一种超文本( Hypertext)信息。

HTTP的名字「超文本协议传输」,它可以拆成三个部分:
1、 超文本—— HTTP 传输的内容是「超文本」
HTTP 传输的内容是「超文本」。
我们先来理解「文本」,在互联网早期的时候只是简单的字符文字,但现在「文本」的涵义已经可以扩展为图片、视频、压缩包等,在 HTTP 眼里这些都算做「文本」。
再来理解「超文本」,它就是超越了普通文本的文本,它是文字、图片、视频等的混合体最关键有超链接,能从一个超文本跳转到另外一个超文本。
HTML 就是最常见的超文本了,它本身只是纯文字文件,但内部用很多标签定义了图片、视频等的链接,在经过浏览器的解释,呈现给我们的就是一个文字、有画面的网页了。
2、传输—— HTTP 协议是一个双向协议。
允许中间有中转或接力。在 HTTP 里,需要中间人遵从 HTTP 协议,只要不打扰基本的数据传输,就可以添加任意额外的东西。
3、协议——HTTP 是一个在计算机世界里专门用来在两点之间传输数据的约定和规范。
协议的特点:「协」字,代表的意思是必须有两个以上的参与者;「议」字,代表的意思是对参与者的一种行为约定和规范
总结: HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范(两个以上的参与者),以及相关的各种控制和错误处理方式(行为约定和规范)。

HTTP 请求/响应的步骤

1、客户端连接到Web服务器 (建立一个TCP连接)
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口建立一个TCP套接字连接。
2、发送HTTP请求(发送请求)
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,请求报文包含请求的方法、URL、协议版本请求头部和请求数据
3、服务器接受请求并返回HTTP响应(响应请求)
Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。
4、释放连接TCP连接 若connection(关闭连接)
模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;connection模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;
5、客户端浏览器解析HTML内容
客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。

FTP文件传送协议

文件传输协议有基于TCP的FTP和基于UDP的简单文件传输协议TFTP 。

在这里插入图片描述

Telnet(远程登录)(c/s,tcp)

远程登录功能允许用户与远程计算机进行动态交互,即用自己的键盘,鼠标等输入设备操纵远程计算机,运行远程计算机上的软件,在自己的显示器上了解运行情况,查看运行结果。

SNMP (简单网络管理协议)(UDP)

SNMP:“简单网络管理协议”,用于网络设备管理的协议。 SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值