http 协议性能优化的一些知识记录

幂等性与安全性

http 方法幂等性是否安全
get
head
put
delete
post
patch

PUT 和 PATCH 操作在更新资源方面是相似的,但执行更新的方式是不同的。PUT 操作通过向整个资源发送更新来更新资源。PATCH 操作只对需要更新的资源应用部分更新,由此产生的 PATCH 调用可以产生更小的有效负载,从而提高性能。需要注意的是PATCH 调用可不是幂等的。

数据压缩

如果响应数据的有效负载非常大,将会减慢请求完成的时间,并且影响性能。简单来说,可以使用 GZip 压缩来减少有效负载的大小,在 Web API 上使用 Deflate 压缩,或者可以将 Accept-EncodingRequest 更新为 Gzip。有效的数据压缩能够减少在 Web 应用程序上响应的下载量,同时提高上传速度

高性能优化 ---- 缓存

缓存是提高 API 性能的最简单的方法之一。

如果有经常返回相同响应的请求,那么该响应的缓存将有助于避免额外的服务调用和数据库查询。需要注意的是,应确保在缓存使用的生命周期,尤其是在发生数据更新的时候进行。此外,缓存增强了可伸缩性,服务端可以通过设置响应头来提高缓存能力,比如 Cache-Control、 Expires、 Pragma、 Last-Modified 等等。

  • Cache-Control:max-age=XXX 浏览器获取到资源内容后,将资源内容缓存在本地,缓存有效期是XXX秒。
    若过期前再次访问资源,直接使用本地缓存;过期后再访问,则向服务器发请求,若服务器检查资源没有更新,则返回304状态码;如果有更新,则返回200状态码以及新的资源内容。同时浏览器延长本地资源的缓存有效期
  • Cache-Control:no-cache 资源可以缓存在浏览器本地,但每次使用缓存前,都要跟服务器协商确认资源是否有更新
  • Cache-Control:no-store 禁用缓存。浏览器每次都要请求服务器,服务器每次都要返回200状态码以及资源内容。
  • Cache-Control:max-age=XXX,must-revalidate 浏览器获取到资源后,将资源缓存在本地,有效期是XXX秒。过期前再次访问,不再请求服务器,直接使用本地缓存;过期后则需请求服务器,验证资源是否有更新
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北漂的菜小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值