第四篇 计算机网络基础 - Http协议【 http方法 + http缓存 】

发布时间 2023-03-28 15:58:29作者: caix-1987

http 方法

常见的 http 方法
1、GET:  获取资源

2、POST:  传输实体主体

3、PUT:  传输文件

4、HEAD:  获取报文首部

5、DELETE:  删除文件

6、OPTIONS:  查询支持方法

7、TRACK:  追踪路径

8、CONNECT:  要求用隧道协议连接代理
GET 与 POST 区别
1、GET 请求 是 请求数据,使用 URL 或 Cookie 传参

   POST 请求 是 传输实体的主体 所以会把参数放到 报文体 中
  
2、GET 请求 请求参数在 URL 中,浏览器对 URL 大小有限制,GET 请求的请求参数大小受限制

   POST 请求 传输的是实体主体,所以大小没有限制
  
3、GET 请求 请求参数放到 URL 中,不安全,不能用来传递敏感信息

   POST 请求 相对安全
  
4、GET请求 是请求数据,所以 URL 地址 可以后退

   POST请求 是发送数据不会 URL 地址 不可以后退 
   
5、GET 请求 是请求数据 所以会被浏览器主动缓存

   POST 请求 是发送数据,所以不会被浏览器主动缓存

http 缓存 【 浏览器缓存 】

http 缓存 分为

  1、强缓存
  
  2、协商缓存
强缓存
1、缓存设置

  Catche Contrl : 是通用首部字段,发送报文 和 响应报文都会使用的

  可以对文件里引用资源的缓存进行设置

2、流程演示

 1、浏览器发访问 http://localhost:10080/

   - '请求报文没带 Cache-Control' 客户端说我要访问首页
  
 2、服务器返回数据

   - '响应报文带:Cache-Control : max-age = 604800'  服务器说给你index.html和加载里面资源,并告诉你这些资源一周之内不要不必确认了
  
 3、浏览器刷新的网页再次访问http://localhost:10080/时
   - 里面的资源就不会再发送请求了,直接从缓存中拿,你会在 chrome,network中看到 Time 是0(from memory catch)

 4、服务器返回数据
   - 服务器只返回index.html文件

 5、这时候你强制刷新浏览器(command+shift+R) 
   - '请求报文带 Catche Contrl:no-cache '客户端说我不要缓存过的数据,我要源服务器的数据
  
 6、服务器返回数据
   - 服务器返回index.html文件和依赖的资源

强缓存就是在条件内,网页依赖的资源都不会发送 http 请求了,可以直接从网页里面获取
协商缓存
协商缓存 就是强缓存失效后,浏览器携带缓存标识向服务器发送请求,由服务器根据缓存标识来决定是否使用缓存的过程
   
  1、协商缓存生效,返回 304
    
  2、协商缓存失效,返回请求结果