1 分层模型
MAC地址 可以认为计算机专属,可以认为每台计算机的 MAC地址 固定不变;
IP地址 可以认为是计算机当前的【家庭地址】,动态唯一,家庭地址变化,IP地址 也跟着变化;
举个例子,A 给 B 发消息说 “我想你了”;
A 发出的消息会依次经过 应用层、传输层、网络层、数据链路层、物理层;
- 应用层:头部添加【协议】;
- 传输层:头部添加【数据校验 + 流量控制】信息;
- 网络层:头部添加 【IP地址】;
- 数据链路层:头部添加【发送方的 MAC地址】,尾部添加【接收方的MAC地址】;
- 物理层:转化为相应的信号;
2 应用层协议
URL (uniform resource locator)是一个固定格式的字符串
从网络中哪台计算机(domain)中的哪个程序(port)寻找哪个服务(path),并注明了获取服务的具体细节(path),以及要用什么样的协议通信(schema);
- 协议是 http,端口是 80,端口可以省略;
- 协议是 https,端口为 443,端口可以省略;
- schema、domain、path 是必填的;
3 HTTP 协议
超文本传输协议,该协议规定了两个方面的内容:
- 传递消息的模式
- 【请求——响应】模式
- 传递消息的格式
- 请求行
- 请求行 Line
GET /api/movies?size=10 HTTP / 1.1 - 请求头 Header
HOST: www.taobao.com
Content-Type: application/json - 请求体 Body
{
“loginId”: “admin”,
“loginPwd”: “123123”
}
- 请求行 Line
- 响应行
- 响应行 Line
HTTP/1.1 200 OK - 响应头 Header
Content-Type: text/html - 响应体 Body
- 响应行 Line
- 请求行
常见响应码:
- 1xx:信息,服务器收到请求,需要请求者继续执行操作;
- 2xx:成功,操作被成功接收并处理;
- 3xx:重定向,需要进一步的操作以完成请求;
- 301:永久重定向,地址搬到了 Location 的内容
- 302:暂时重定向- 4xx:客户端错误,请求包含语法错误或无法完成请求;
- 5xx:服务器错误,服务器在处理请求的过程中发生了错误。