【问题标题】:How can I store resources in a cookie for faster load time如何将资源存储在 cookie 中以加快加载时间
【发布时间】:2021-04-03 03:47:02
【问题描述】:

我知道如何设置 cookie,无论是 javascript 还是 php,但从互联网上的所有示例中,我只看到类似以下内容:

setcookie("name", "Chris", time()*3600, "/")

但是没有文档或教程说明如何将其应用于实际应用程序并将真实数据存储在 cookie 中(而不仅仅是用于教程目的的“Chris”之类的名称)。

我希望客户端浏览器能够记住会话 ID 和静态资源,例如图像、样式表、javascript……(以加快加载时间)

我应该只发送一个 json 对象,其中包含资源的 url 位置和会话 id 作为键/值对还是如何完成?

感谢您的回答

【问题讨论】:

  • Cookies 是记忆静态资源的错误方法。网络请求缓存应该处理这些问题。
  • 虽然您可以将数据存储在 cookie 中,但如果它不仅仅是简单的 SessionID 等,您可能需要查看 localeStorage,甚至 IndexedDB developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API,对于图像/声音等静态资产,让浏览器缓存可以正常工作。

标签: javascript php cookies setcookie


【解决方案1】:

静态资源可以通过使用Cache Control Headers被浏览器内部缓存。

您不需要 cookie 来执行此操作。只需确保为您想要的任何静态资源在 Web 服务器上设置适当的缓存控制标头即可。

此外,如果您尝试在 cookie 中存储静态内容(如图像等),您需要编写自己的代码从 cookie 中取回并渲染到 DOM 中(成本很高)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    • 2016-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多