2021-04-16

本文介绍了计算机网络应用层的作用,包括定义通信规则、提供服务如HTTP、DNS、FTP和SMTP。HTTP是万维网的主要协议,定义了浏览器与服务器之间的通信格式。DNS负责将域名转换为IP地址。FTP用于文件传输,SMTP用于发送电子邮件。HTTP的工作流程涉及TCP连接、请求与响应。此外,还讨论了HTTP的GET和POST请求方式以及HTTPS的安全特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机网络(五)应用层

(1)作用

	(a)运输层为应用进程提供了端到端的通信服务,但两台计算机通信时,有不同的进程(使用传输层的TCP或UDP协议精确定位到一个进程,使用端口号来识别进程),但一个进程在通信时,通信内容会有所不同(如,web浏览,发送email,传输文件等),所有需要有不同的通信规则(用语规范),需要有应用层协议。
	(b)应用层的具体内容就是精确定义上面的通信规则,应用层协议应当定义的有:
		① 应用进程交换的报文类型,如请求报文和响应报文
		② 各种报文类型的语法,如报文中的各个字段及其详细描述
		③ 字段的语义,即包含在字段中的信息的含义。
		④ 进程何时、如何发送报文,以及对报文进行响应的规则。
	(c)比如:万维网WWW的应用层协议是HTTP,它定义了在万维网与万维网服务器之间传送的报文类型,格式和序列等规则。而万维网浏览器怎么显示一个页面,是多线程还是单线程实现都不是HTTP定义的内容。

(2)应用层协议

	(a)DNS(域名解析协议):按照一定的函数将互联网上的主机名字转换为IP地址
	(b)FTP:传输文件
	(c)SMTP:向邮件服务器发送包含电子邮件的报文
	(d)HTTP(超文本传输协议)
		① 在一个计算机世界里专门在两点之间传输文字,图片,音频,视频等超文本数据的约定和规范
		② 万维网(浏览器有各种,百度,谷歌等)
			1)一个资料空间,提供分布式服务
			2)用链接的方法从互联网上的一个站点访问另一个站点,从而获取到丰富的信息
			3)C/S方式工作(浏览器是客户端C,万维网文档所驻留的主机称为万维网服务器-服务端S)
			4)客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。在一个客户程序主窗口上显示出的万维网文档称为页面(page)
		③ 统一资源定位符URL
			1) 格式:<协议>://<主机>:<端口>/<路径>
			2) 例如:www.youkuaiyun.com(网站主页)
		④  定义:
			1)HTTP就是一个通信规则,通信规则规定了客户端发送给服务器的内容格式,也规定了服务器发送给客户端的内容格式。客户端发送给服务器的格式叫“请求协议”;服务器发送给客户端的格式叫“响应协议”。
			2)HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接),但采用TCP作为运输层协议,是面向连接的。
			3)HTTP是无状态协议(没有记忆)。同一个用户两次访问提供完全相同的服务,服务器并不知道是否服务过这个用户,但是在实际作中一些网站常常希望能够识别用户,例如:淘宝,于是就有了cookie。
		⑤ 工作流程:
			1)浏览器分析URL
			2)浏览器向DNS请求解析IP地址
			3)DNS解析出IP地址
			4)通过TCP的方式发送一个数据报,根据IP地址(同一个网络直接到达,不同网络,转路由)到达具体网络,再使用ARP协议根据IP获得MAC地址,转到(广播的方式)具体的目的主机(服务端),ARP再传送一个数据报给源主机,通知连接成功,则浏览器可以与服务器建立TCP连接。
			5)浏览器发出HTTP请求(如GET/chn/index.htm)
			6)服务器通过HTTP响应把文件index.htm发送给浏览器
			7)释放TCP连接
			8)浏览器解析文件index.htm,并通过web页面显示给用户
		⑥ 请求方式
			1)GET请求
				1. 没有请求体
				2. 数据必须在1K之内
				3. get请求数据会显示在URL(地址栏)中,get请求传参是放在URL中,并且通过?参数的形式来指定key-value的。
				4. HTTP默认请求方式,点击页面上的超链接一定为get请求,提交Form表单时,默认get,可为post请求
			2)POST请求
				1. 数据不会出现在地址栏中
				2. 数据大小没有上限
				3. 有请求体,请求体中如有中文,会使用URL编码
				4. 如果要对服务器产生影响,那么使用post请求,post请求传参不是放在url中,是通过form data形式发送给服务器的
			⑦ 请求路径:
				1)先协议,再主机,路径,最后查询,片段
				2)http://www.example.com:80/path/to/myfile.htmlkey1=value1&key2=value2#SomewhereInTheDocument
				3)协议-http,主机-www.example.com,端口-80,路径-/path/to/myfile.html,查询-key1=value1&key2=value2(如是get请求-后面直接加参数,post请求-不会加参数),片段-#SomewhereInTheDocument(相当于书签)
			⑧ HTTPS:
				1)HTTP 一般是明文传输,很容易被攻击者窃取重要信息,鉴于此,HTTPS 应运而生。HTTPS 的全称为 (Hyper Text Transfer Protocol over SecureSocket Layer)
				2)HTTPS 和 HTTP 有很大的不同在于 HTTPS 是以安全为目标的 HTTP 通道,在 HTTP 的基础上通过传输加密和身份认证保证了传输过程的安全性。
				3)HTTPS 在 HTTP 的基础上增加了 SSL 层,也就是说 HTTPS = HTTP + SSL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值