前端知识总结(http)

1.状态码的分类

1xx 服务器收到请求

2xx 请求成功,如200

3xx重定向,如302

4xx客户端错误,如404

5xx服务端错误,如500

2.常见状态码

200 请求成功

301永久重定向

302临时重定向

304资源未被修改

404资源没有找到

403没有权限

500服务器错误

3.现在的methods

get 获取数据

post 新建数据

patch/put 更新数据

delete 删除数据

4.Restful API

传统API把每一个url当作一个功能

RestfulAPI把每一个url当作一个唯一的资源

Restful尽量不用url参数,使用methods来表示操作类型

//传统API
/api/list?pageIndex=2
/api/list/2
post 请求 /api/create-blog
post 请求 /api/update-blog?id=100
get  请求 /api/get-blog?id=100

//Restful API
/api/list/2
post请求 /api/blog
patch请求 /api/blog/100
get请求 /api/blog/100

5.http headers

1.常见的Request headers

Accept 浏览器可接收的数据格式

Accept-Encoding 浏览器可接收的压缩算法,如gzip

Accept-Language浏览器可接收的语言,如zh-CN

Connection:keep-alive 一次TCP连接重复使用

cookie

host

User-Agent(简称UA)浏览器信息

Content-Type  发送数据格式,如application/json

2.常见的Response headers

Content-Type 返回的数据格式 如application/json

Content-length  返回数据的大小有多少字节

Content-Encoding 返回数据的压缩算法,如gzip

Set-cookie 服务端修改cookie的时候,把cookie改掉

3.缓存相关的headers

Cache-Control 

Expires

Last-Modified

If-Modified-Since

Etag

If-None-Match

6.http缓存

1.哪些资源可以被缓存?

静态资源(js,css,img)

2.cache-control的值

cache-control在response-header中

max-age:缓存最大过期时间(单位:秒),之前使用的是expires属性值,现在基本已经被max-age代替

no-cache:不用本地缓存,正常的向服务器发起请求,让服务端处理

no-store:不用本地缓存,也不用服务器处理,直接让服务器发送请求的资源

private

public

3.协商缓存

是一种服务器端的缓存策略

服务器端判断资源是否与客户端的资源一样

如果一样,返回304,使用客户端资源,如果不一样,返回200和新的资源

在response header当中,有两种资源标识:

Last-Modified:资源的最后修改时间

1.初次请求,返回资源和Last-Modified

2.再次请求,request header中带着If-Modified-Since

3.返回304,或者返回新的资源和Last-Modified

Etag:资源的唯一标识(一个字符串,类似人类的指纹)

1.初次请求

2.返回资源和Etag

3.再次请求,request header中带着If-None-Match

4.返回304,或者返回新的资源和新的Etag

http缓存全过程

1.http请求

2.有缓存

3.缓存是否过期?

没有过期→读取缓存→强缓存→页面呈现

缓存已过期→判断有没有Etag和Last-Modified?

没有→向服务器发出http请求→服务器返回http资源→页面呈现

有→向服务器发起http请求,并且带有If-None-Match和If-Modified-Since字段

服务器判定客户端缓存是否可用?

不可用→200→返回新的资源

可用→304→读取缓存资源→协商缓存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值