欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > HTTP.

HTTP.

2025/2/23 0:57:21 来源:https://blog.csdn.net/2302_80742310/article/details/145709376  浏览:    关键词:HTTP.

HTTP主要讲一下状态码和缓存机制

1xx 类状态码属于提示信息,是协议处理中的一种中间状态,如http升级为websocket,会提示1xx

2xx 类状态码表示服务器成功处理了客户端的请求

  • 「200 OK」是最常见的成功状态码
  • 「204 No Content」也是常见的成功状态码,但没返回任何数据
  • 「206 Partial Content」服务器成功处理了部分请求,并返回了资源的一部分(HTTP 分块下载或断点续传)

3xx 类状态码表示客户端请求的资源发生了变动,需要客户端用新的 URL 重新发送请求获取资源,也就是重定向

  • 「301 Moved Permanently」表示永久重定向,需改用新的 URL 再次访问
  • 「302 Found」表示临时重定向,暂时需要用另一个 URL 来访问
  • 「304 Not Modified」表示客户端请求的资源没有变化,可以直接使用本地缓存,而无需重新下载

4xx 类状态码表示客户端发送的报文有误,服务器无法处理

  • 「400 Bad Request」表示客户端请求的报文有错误(笼统的错误)
  • 「403 Forbidden」表示客户端没有权限访问该资源
  • 「404 Not Found」表示请求的资源在服务器上不存在

5xx 类状态码表示客户端请求报文正确,但是服务器处理时内部发生了错误,属于服务端的错误码

  • 「500 Internal Server Error」表示服务端内部出现问题(笼统的错误)
  • 「501 Not Implemented」表示客户端请求的功能还没有实现
  • 「502 Bad Gateway」通常是服务器作为网关或代理时返回的错误码,表示服务器自身工作正常,访问后端服务器发生了错误
  • 「503 Service Unavailable」表示服务器当前很忙,暂时无法响应客户端

HTTP缓存:有两种实现方式

  • 强制缓存是指只要浏览器判断缓存没有过期,则直接使用浏览器的本地缓存
    • 当浏览器第一次请求访问服务器资源时,服务器会在返回这个资源的同时,在 Response 头部加上 Cache-ControlExpires
      Cache-Control: max-age=3600
      Expires: Wed, 21 Oct 2025 07:28:00 GMT   (Cache-Control 优先级更高)
    • 浏览器再次请求访问服务器中的该资源时,会先通过请求资源的时间与 Cache-Control 中设置的过期时间大小,来计算出该资源是否过期,如果没有,则使用该缓存,否则重新请求服务器
    • 服务器再次收到请求后,会再次更新 Response 头部的 Cache-Control
  • 协商缓存是指浏览器在请求资源时,会与服务器进行协商,决定是否使用本地缓存
    • 浏览器发出请求时,会携带一些标识信息,如If-Modified-Since(在某时起该资源是否被修改过)、ETag标识某个资源

                If-Modified-Since: Wed, 21 Oct 2025 07:28:00 GMT
                ETag: "abcdef12345"

  •         服务器根据这些信息判断缓存是否有效:
    •         如果缓存有效,服务器返回304 Not Modified,浏览器使用缓存
      • 如果缓存无效,服务器返回新的资源和更新的缓存信息

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词