每日任务:HTTP状态码详解及强缓存与协商缓存的区别

1.HTTP中常见的状态码有哪些?

HTTP常见的状态码主要有以下几大类:

**1XX:**提示信息,协议处理的中间状态

**2XX:**请求成功

**3XX:**请求重定向

**4XX:**请求错误,一般是指发送请求的机器出现了问题

**5XX:**服务器错误,一般是指接受处理请求的机械出现了问题

**200:**表示客户端请求成功

**201:**创建了新资源。

**204 :**无内容,服务器成功处理请求,但未返回任何内容。

**301:**永久重定向

302: 临时重定向

**304:**请求的内容没有修改过,所以服务器返回此响应时,不会返回网页内容,而是使用缓存

**401:**请求需要身份验证

**403:**请求的对应资源禁止被访问

**404:**服务器无法找到对应资源

**500:**服务器内部错误

503: 服务不可用

2.什么是强缓存和协商缓存

强缓存协商缓存是HTTP缓存机制的两种类型,它们用于减少服务器的负担和提高网页加载速度。

强缓存是指浏览器在请求资源时,不会发送任何请求头,直接从本地缓存中读取资源,从而提高响应速度。常见的实现方式包括:

  1. Expires头部:指定资源过期时间,如果在过期时间之前再次请求该资源,浏览器将直接从缓存中读取资源。
  2. Cache-Control头部:可以指定资源的缓存策略,包括public、private、no-cache等,控制浏览器的缓存行为。

协商缓存是指浏览器在请求资源时,会发送一些请求到服务器,询问服务器资源是否已经发生改变,通过ETag或Last-Modified等HTTP响应头与服务器进行验证,以确定资源是否被修改。如果资源未发生改变,服务器将返回304状态码,告诉浏览器可以从缓存中读取资源,从而减少了网络带宽的使用,。常用的实现方式包括:

  1. Last-Modified/if-Modified-Since头部:浏览器在请求资源时,会将资源最好修改时间发送到服务器,服务器检查资源是否发生变化,如果没有发生变化,返回304状态码,否则返回新的资源。
  2. ETag/if-None-Match头部:服务器可以给每个资源分配一个唯一的标识符,浏览器在请求资源时,将该标识符发送到服务器,服务器检查资源是否发生变化,如果没有发生变化,返回304状态码,否则返回新的资源。
相关推荐
yuankunliu1 小时前
【redis】1、Redis的安装部署
数据库·redis·缓存
北京耐用通信2 小时前
耐达讯自动化CANopen转Profibus网关:为风力发电场打造高可靠协议转换解决方案
人工智能·物联网·网络协议·自动化·信息与通信
北京耐用通信2 小时前
耐达讯自动化CANopen转Profibus 网关:实现光伏逆变器无缝接入工业以太网的技术解析
网络·人工智能·物联网·网络协议·自动化·信息与通信
..过云雨2 小时前
应用层自定义协议与序列化一站式指南
网络协议·tcp/ip·json·信息与通信
TOPGUS3 小时前
谷歌Chrome浏览器即将对HTTP网站设卡:突出展示“始终使用安全连接”功能
前端·网络·chrome·http·搜索引擎·seo·数字营销
Wadli3 小时前
项目5 |HTTP服务框架
网络·网络协议·http
最贪吃的虎3 小时前
Redis其实并不是线程安全的
java·开发语言·数据库·redis·后端·缓存·lua
CCPC不拿奖不改名3 小时前
网络与API:HTTP基础+面试习题
网络·python·网络协议·学习·http·面试·职场和发展
乾元3 小时前
无线定位与链路质量预测——从“知道你在哪”,到“提前知道你会不会掉线”的网络服务化实践
运维·开发语言·人工智能·网络协议·重构·信息与通信
切糕师学AI3 小时前
SSL是什么?
网络协议