网络协议
计算机之间交换信息的规则
图解HTTP
HTTP协议
用于计算机网络中数据传输的规则和标准
程序:有序的计算机代码指令
TCP/IP协议
链路层
网络层
传输层
应用层
当你输入url地址之后发生了什么?※
request:请求
response:响应
- 地址跳转
- 查找缓存
- 域名解析(DNS)解析成IP地址
- 建立TCP链接【包含三次握手】
- 发起请求(request)
- 接收响应(respinse)
- 四次握手,断开连接
- 加载DOM树
- 加载CSS树
- DOM解构和CSS合并渲染
TCP协议
特点:提供一种面向链接,可靠的字节流服务
TCP三次握手※
TCP四次握手※
HTTP(超文本传输协议)
特点※
- 简单快速,可以传输任意类型(MIME)
- 无状态
- 无连接
请求过程※
- 建立连接
- 发送请求(request)
- 接收响应结果(response)
- 关闭连接
HTTP请求方式※
- GET 查寻东西
- 明文传输
- 传输的数据量小
- 不安全
- 加载资源文件,查询数据
- POST 添加东西
- 以文件形式传输
- 传输的数据不限制
- 大多用于新增功能
- PUT 修改功能
- DELETE 删除功能
- HEAD 头部信息
- 配置信息
- OPTIONS 查看服务器支持的请求类型是什么
HTTP请求头格式【HEAD】※
请求行:【请求类型、URL地址、HTTP版本号】
请求头:【key:value】
空行
请求正文:【参数】
HTTP响应头格式※
响应行:【HTTP版本号、状态码】
响应头:【key:value】
空行
响应正文:【结果】
了解WebSocket
基于TCP连接的一个长连接协议
通常:
- 聊天室
- 股票
- 网络游戏
- 系统通知
HTTP状态码【服务器给客户端的】※
- 1xx:请求
- 2xx:成功
- 3xx:重定向
- 4xx:客户端报错
- 5xx:服务端报错
100 | 请求 |
---|
200 OK | 客户端请求成功 | 301 | 永久重定向 | 302 | 临时重定向 | 304 | 当前资源来自于缓存 | 400 | 客户端请求有语法错误,不能被服务器理解 | 401 | 请求未经授权 | 403 | 服务器收到请求,但是拒绝提供服务 | 404 | 资源找不到 | 500 | 服务器发生不可预期的错误 | 503 | 服务器当前不能处理客户端的请求,一段时间后可恢复 |
HTTP的缓存机制
-
本地缓存
- 浏览器保存的部分缓存到硬盘中
-
强制缓存
- Expires:代表某个资源的过期时间,时间可能有误差,用的较少
- Cache-Control:精准控制缓存策略,可控制时间也可控制是否添加缓存
-
协商缓存
- ETag
流程:※
- 读取本地缓存 => 200
- 强制缓存【Expired、Cache-Control】 => 200
- 协商缓存【Etag,Last-Modified】 => 304
- 读取最新数据 => 200
HTTP端口号
端口号
- http:80端口
- https:443端口
- 范围:165536,(11024被系统占用)
推荐的端口号:8080
了解HTTPS
传输方式:数据内容首先以对称加密方式(公钥)加密,传输过程再使用非对称加密方式(私钥)加密的双重加密方式
|