避免从raw.githubusercontent.com获取缓存内容

避免从raw.githubusercontent.com获取缓存内容,github,Github,我注意到,使用curl从github获取内容时,使用以下格式: https://raw.githubusercontent.com/${org}/${repo}/${branch}/path/to/file 它有时会返回缓存/过时的内容。例如,对于此操作序列: 卷曲 将新提交推送到该分支 卷曲 步骤3将返回与步骤1相同的内容,并且不反映新的提交 如何避免获得过时的版本 我注意到在Github WebUI上,它向url添加了一个令牌,例如:?token=AABCIPALAGOZX5R,这可能会避

我注意到,使用curl从github获取内容时,使用以下格式:

https://raw.githubusercontent.com/${org}/${repo}/${branch}/path/to/file
它有时会返回缓存/过时的内容。例如,对于此操作序列:

  • 卷曲
  • 将新提交推送到该分支
  • 卷曲
  • 步骤3将返回与步骤1相同的内容,并且不反映新的提交

    如何避免获得过时的版本

    我注意到在Github WebUI上,它向url添加了一个令牌,例如:
    ?token=AABCIPALAGOZX5R
    ,这可能会避免获取缓存内容。这个标记的性质是什么?我如何模仿它?在
    ?令牌=$(日期+%s)
    上钉钉子行吗


    此外,我正在寻找一种避免过时内容的方法,而不必切换到url中的提交哈希,因为它需要更多的更改。但是,如果这是实现它的唯一方法,那么我将采用这种方法。

    GitHub缓存此数据,因为否则频繁请求的文件每次都需要向后端服务提供请求,这比提供缓存副本更昂贵。使用CDN可以提高性能和速度。你不能绕过它

    您在URL中看到的令牌是为登录用户颁发的临时令牌。您不能使用随机令牌,因为它无法通过身份验证

    如果在特定提交中需要该文件的版本,则需要显式指定该提交。但是,请注意,您不应该通过某种大规模的自动化过程来绕过缓存。例如,您不应该尝试这样做,以便始终获取文件的最新版本,以用于您正在分发的程序或正在运行的服务的多个实例。您应该自己提供数据,必要时使用CDN。这样,您就可以自己决定缓存何时过期,并获得良好的性能和最新的数据

    如果您仍然运行这样的进程,可能会导致停机或过载,并且您的存储库或帐户可能会被挂起或阻止