简单易懂且全面的http知识点详细总结

此篇文章是自学于慕课网双越老师的前端课程所做的笔记,如有不妥将会删除。

本文同步到:http://www.existentialism.icu/2020/10/02/15/

http状态码

什么是http状态码

“HTTP状态码(HTTP Status Code)是表示网页服务器超文本传输协议响应状态的3位数字代码。即当服务器收到某种请求时,例如,当用户通过浏览器访问你的网页页面,服务器会向这个浏览器返回一个代码响应请求。这个代码就称为:HTTP状态码。”

在浏览器中可以看到下面这些是状态码
在这里插入图片描述

状态码的分类

在这里插入图片描述
在这里插入图片描述

常见状态码

在这里插入图片描述
301的情况大多数是在自己的域名已经到期,换了一个域名,所以要永远改变地址了,老的域名 永远不会被用了
302的情况,只是暂时访问另一个临时的地址

304,你已经请求过这个资源了,你这个资源还有效

404没有 找到这个服务

403没有权限,是因为还有没有注册和登录

**加粗样式**
在这里插入图片描述

504,访问到服务器的时间太长

http method

传统的methods

在这里插入图片描述

现在的methods

下面的post方法的含义变更了,变成了新建数据,比如新建一片博客,

在这里插入图片描述
在这里插入图片描述

Restful API

Resful Api设计:把每个url当做一个唯一的资源
在这里插入图片描述

如何将url设计成一个资源

在这里插入图片描述

不使用url参数

在这里插入图片描述

用method表示操作类型

在这里插入图片描述
和下面进行比对
在这里插入图片描述

http headers

常见的Request Headers

第二点压缩算法的目的是为了使接收了资源更小,访问速度更快

在这里插入图片描述

同域请求都会带上cookie,Host就是你请求的域名
在这里插入图片描述
在这里插入图片描述

常见的Response Headers

在这里插入图片描述

可以在浏览器下面观看两者
在这里插入图片描述

http缓存

什么是缓存

百度百科如下:
浏览器缓存(Browser Caching)是为了加速浏览,浏览器在用户磁盘上对请求过的文档进行存储,当访问者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,这样就可以加速页面的阅览。它是网站访问统计最难解决的问题之一。
但是,Web服务器可能因此而未计算一个页面或广告已被阅览的次数。
缓存的方式节约了网络的资源,提高了网络的效率。

那些资源可以被缓存

一般是js,css,img等一些静态资源,因为这些资源一旦生成就不会被修改

http的强制缓存

初次请求

在这里插入图片描述

浏览器初次请求的时候,服务器会向浏览器发送一些资源,和Cache-Control,

Cache-Control在Response Heafers中
控制强制缓存的逻辑

例如
在这里插入图片描述
这上面的意思是将这个资源缓存一年的时间

在这里插入图片描述
将这个logo图片 缓存上面这么长的时间

再次请求

在这里插入图片描述
再次请求的时候就会直接读取本地缓存,访问速度比初次访问熟读要快的多

如下例子
在这里插入图片描述

disk cache 的标志就是访问的本地缓存

缓存过期

在这里插入图片描述
缓存时间到了,就会过期了就会向服务器再次的发送请求

cahe-control的值

在这里插入图片描述

no-cache 是不用本地的强制缓存,交给服务端处理
no-store 就是最彻底的,既不用本地的强制缓存,也不用服务端处理,直接让服务器把资源重新发一份,

在这里插入图片描述

private的意思是只允许最终用户做缓存
而public 可让中间的一些代理做缓存

关于Expires

在这里插入图片描述
知道这么回事就可以了

http缓存-协商缓存(对比缓存)

协商缓存是服务端缓存的策略,就是让服务端来判断这个资源是不是可以被缓存和使用缓存内容,也就是服务器判断客户端资源是否和服务端的资源一样,如果是一样的就返回状态码304,否则就返回200

如下图
在这里插入图片描述
协商缓存就是要拿资源标志对比的上述过程,来看看是不是可以使用缓存

资源标志有哪些

在这里插入图片描述

Last-Modified

在这里插入图片描述

初次请求,服务器发现资源可以被缓存,服务器返回资源和Last-Modified标志到浏览器,再次请求的时候,request headers 带着 if-Modified-Since(相当于一个key,而他对应的值是Last-Modified),然后服务器就会对比两边的Last-Modified的值,如果他们的值相等就会返回304,如果这个值不相等,说明资源被改过了,服务器要重新返回资源和Last-modifed。状态码为200

Etag

在这里插入图片描述
和上面的last-Modified的过程和逻辑是一样的

在这里插入图片描述
上面的if-None-Match的内容就是这个Etag的key和value

在这里插入图片描述
在这里插入图片描述

http请求过程中缓存的全过程

在这里插入图片描述

刷新页面对http缓存的影响

三种刷新操作

在这里插入图片描述

不同刷新操作对缓存的影响

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值