【问题标题】:Does PHP's file_get_contents cache a 301 status code?PHP 的 file_get_contents 是否缓存 301 状态码?
【发布时间】:2011-07-28 10:14:34
【问题描述】:

如果 PHP 确实缓存了一个永久重定向:

  1. 多长时间?
  2. 可以更改此期间吗?

我也对 Perl、Python 和任何其他主要用于 Web 开发的语言的默认行为感兴趣

【问题讨论】:

    标签: php caching redirect http-status-code-301 status


    【解决方案1】:

    如果您想更直接地控制您的 http 查询,我建议您使用 curl

    【讨论】:

    • 这根本不能回答他的问题,应该作为评论发表。
    • 我正在提供响应标头,因此无法控制客户端的行为。无论如何,cURL 会缓存新位置并在后续请求中使用它吗?
    【解决方案2】:

    file_get_contents() 使用的http_fopen_wrapper.c 不包含任何缓存逻辑。特别是它只响应 Location: 标头,而不关心实际的 HTTP 状态代码。 (它不会注意到它是临时重定向还是永久重定向。)

    【讨论】:

    • 谢谢马里奥,我的测试也证实了这一点。即使使用 301 响应,“旧”URI 仍然每次都会被命中。
    猜你喜欢
    • 2013-08-08
    • 2012-07-27
    • 2021-10-29
    • 2017-09-07
    • 2015-09-13
    • 2012-05-08
    • 1970-01-01
    • 2011-11-13
    • 1970-01-01
    相关资源
    最近更新 更多