• 【面试题】http协议


    1. http状态码

    • 1xx:服务器收到请求,但是没有返回结果。
    • 2xx:请求成功。200成功。
    • 3xx:重定向。301永久重定向,302临时重定向,304资源未被修改。
    • 4xx:客户端错误。404资源未找到,403没有访问权限。
    • 5xx:服务端错误。500服务器错误,504网关超时。

    2. http methods

    2.1 传统的methods

    methods作用
    get用于请求服务器的数据
    post向服务器提交数据

    2.2 现在的methods

    methods作用
    get获取数据
    post新建数据
    patch更新数据
    delete删除数据

    2.3 Restful API

    Restful API是一种新的API设计方法(早已推广使用)。传统API设计是把每个URL当作一个功能。Restful API设计:把每个URL当作一个唯一的资源。

    Restful不使用URL参数
    在这里插入图片描述
    传统API设计,用method表示操作类型

    在这里插入图片描述
    Restful API设计,用method表示操作类型
    在这里插入图片描述

    3. http headers

    3.1 请求头 Request headers

    Request headers解释
    Accept浏览器可接收的数据格式
    Accept-Encoding浏览器可接收的压缩算法,如 gzip
    Accept-Language浏览器可接收的语言,如zh-CN
    Connection:keep-alive一次TCP连接重复使用
    cookie浏览器存储
    Host请求的域名
    User-Agent(简称UA)浏览器信息
    Content-type发送数据的格式,如application/json

    3.2 响应头 Response headers

    Response headers解释
    Content-type返回数据的格式,如application/json
    Content-length返回数据的大小,多少字节
    Content-Encoding返回数据的压缩算法,如gzip
    Set-Cookie服务端修改cookie

    3.3 缓存相关的headers

    • Cache-Control
    • Expires
    • Last-Modified
    • If-Modified-Since
    • Etag
    • If-None-Match

    4. http缓存

    浏览器第一次访问网站时,服务端需要把数据发送给服务器,当浏览器再次访问网站时,服务器就不需要再次发送,浏览器可以从缓存中获取数据。网络请求不稳定,缓存可以减少网络请求的数量,提升加载和渲染的效率。

    4.1 强制缓存(Cache-Control)

    强制缓存Cache-Control,加在Response headers中,可以加快页面的访问速度。
    例如:Cache-Control:max-age=31536000 (单位是秒)
    在这里插入图片描述

    Cache-Control的值解释
    max-age缓存的最大过期时间
    no-cache不使用本地缓存,向服务器正常发送请求
    no-store不使用本地缓存,也不使用服务端的缓存策略
    private只允许最终用户进行缓存
    public允许中间代理进行缓存

    4.2 协商缓存(对比缓存)

    协商缓存是服务端的缓存策略,服务端判断资源是否可以直接使用本地缓存中的内容。
    服务端判断客户端资源(使用资源标识进行判断),如果请求的资源和服务端一样,就返回304,直接使用本地缓存中的资源;如果请求的资源和服务端资源不一样,就返回200和最新的资源。
    在这里插入图片描述
    资源标识保存在Response Headers中,有两种:

    1. Last-Modified 资源的最后修改时间
    2. Etag 资源的唯一标识(一个字符串)

    Last-Modified只能精确到秒级,Etag更精确,优先使用Etag。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    4.3 刷新对缓存的影响

    刷新方式刷新操作对缓存的影响
    正常刷新:地址栏输入URL,点击跳转链接,地址的前进后退强制缓存√ 协商缓存√
    手动刷新:F5强制缓存× 协商缓存√
    强制刷新:Crtl + F5强制缓存× 协商缓存×
  • 相关阅读:
    TLR8小分子抑制剂或将治愈自身免疫病 | MedChemExpress
    Stream学习2
    2309d的几个问题
    【AGC】引导用户购买提升用户留存率
    计算机网络常见概念
    PHP - Xdebug安装 - 学习/实践
    opengauss 备份sql文件从schema恢复到不同的schema方法
    阿里云ARMS监控
    arthas 监控线程池相关对象
    JavaScript函数中this的指向问题讨论(普通函数和箭头函数)
  • 原文地址:https://blog.csdn.net/zx1041561837/article/details/128186061