网络分层模型和应用协议
分层模型
为了解决复杂问题往往分层
经过不断的演化,网络最终形成了五层模型:
MAC像指纹,出生之后就不变,每一层聚焦自己的问题
IP地址动态唯一
TCP可靠传输协议、UDP是广播协议
应用层:应用到具体场景,不同场景建立了不同协议应对
数据的传输:
四层、七层、五层
应用层协议
URL(uniform resource locator 统一资源定位符)
用于定位网络服务
URL是一个固定格式的字符串
它表达了:
从网络中哪台计算机(domain)
中的哪个程序(port)
寻找哪个服务(path)
,并注明了获取服务的具体细节(path)
,以及要用什么样的协议通信(schema)
这里面包含了一些细节:
- 当协议是
http
端口为80
时,端口可以省略 - 当协议是
https
端口为443
时,端口可以省略 schema
、domain
、path
是必填的,其他的根据具体的要求填写
url是在访问一个程序,不是文件
比如 live server 就是一个程序
叫做静态资源服务器
HTTP(Hyper Text Transfer Protocol 超文本传输协议)
该协议规定了两个方面的内容:
- 传递消息的模式
- 传递消息的格式
传递消息的模式:
HTTP使用了一种极为简单的消息传递模式,「请求-响应」模式
发起请求的称之为客户端,接收请求并完成响应的称之为服务器。
「请求-响应」完成后,一次交互结束。
传递消息的格式
请求和响应都是字符串,也就是说HTTP请求是基于文本的协议
REST Client 插件
可以新建文件以.http结尾
第一个(GET)是 request method
请求头 - Host
是一定要写的,标注了URL
地址中的Domain + Port
请求体:服务器和客户端要双方约定
请求头 Content-Type
MIME 类型通常以 x/y 格式表示
通过application/x-www-form-urlencoded
编码后的请求体如下:
通过标准格式的字符串来描述格式
就是这种格式
base64 就是把二进制的数字转换成可以书写的字符
通常将文件、图片变为 base64
这种格式非常适合文件上传
上传图片
boundary是分割符
自己定义的分割符
响应:
响应码
设置一下
取消勾选就不会自动重定向
第一行是响应行
给了新地址
301会在本地存这个新地址
302是临时重定向
响应头 - Content-Type
响应头标注了附带的响应体是什么格式
常见的值有:
text/plain
: 普通的纯文本text/html
:html文档text/javascript
或application/javascript
:js代码text/css
:css代码image/jpeg
:jpg图片attachment
:附件- 其他
MIME
类型
END
本文主要介绍了网络的分层模型和应用层的协议,分层模型有四层、七层、五层这几种模型,应用层协议主要涉及 URL 和 HTTP,并且介绍了请求和响应以及他们的行、头、体