dingo API 配置项 API_CONDITIONAL_REQUEST

dingo api  配置项
不理解这条配置项的场景,求解:条件 具体是指什么条件?使用场景是什么?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 1

我又查了下资料,下图是我在dingo api 的配置文件 config/api.php 中相关截图
file
大致理解了该设置的用途:设置http 缓存:对比缓存。
经测试:

  • 设置为 true 时,
    'conditionalRequest' => env('API_CONDITIONAL_REQUEST', true)
    http请求 响应截图
    file
    注意:cache-control 和 Etag
  • 设置为false 时
    'conditionalRequest' => env('API_CONDITIONAL_REQUEST', false)
    http 请求截图
    file
    注意cache-control 变化,并且缺少了Etag

    小结:

  • 为 true 时,发起http 请求时,浏览器先检查缓存,缓存过期,则通过Etag ,查看服务器资源变化。服务器资源没变化,返回304,使用浏览器缓存; 服务器资源变化,返回200和响应资源。
  • 为false 时,发起http 请求时,浏览器先检查缓存,缓存过期 , 因为缓存策略为no-cache,并且没有Etag,则直接请求资源,并返回200和响应资源。

    我的建议

    综上,我建议设为false ,因为我们返回的是json 数据,而不是图片,html, css 等静态资源,所以其实是没办法检查是否有更新的。(个人拙见,欢迎拍砖)
    以上是我个人理解, 欢迎路过的朋友来和我讨论和指出我的不足

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!