显示带有 RAND 种子的静态页面,是否过期?

显示带有 RAND 种子的静态页面,是否过期?

在 Apache 中,是否有任何方法(使用 CGI 和 PHP 等脚本)可以获取所有静态内容(html、图像和指定大小范围内的文件)并将其作为随机链接发送给用户,并设置有效期(例如 30 分钟)?最好不要使用 mod_proxy 或它的反向方法,因为所有文件都在同一台服务器上。我只是想学习一种合理的方法来制作类似这样的内容:http://www.example.com/09-21-2011/USA/CA/article-name.html表现为http://www.example.com/09-21-2011/USA/CA/randomnumbersandletters(没有 .html)。我意识到 html 部分可以用 mod_rewrite 轻松修复。

任何帮助都将非常感激。

这里有一个此工作原理的示例: http://memory.loc.gov/frd/cs/httoc.html 单击文章某一部分的任意链接,滚动到该页面的底部。

说道:

Do NOT bookmark these search results.

Search results are stored in a TEMPORARY file for display purposes. 
The temporary file will be purged from our system in a few hours.

链接如下:

.../cgi-bin/query/r?randomnumbersandletters

可选功能是将临时会话存储在 SQL 数据库中,并包括用户 IP 和访问时间/日期。

答案1

这不是一个系统管理问题,而是一个编程问题。


一种快速、贫民窟解决方案算法:

  1. 建立会话
  2. 访问页面时,对该会话的某些表示以及 URL 栏中请求的页面的某些表示进行编码
  3. 如果访问文档的会话已过期或从无效主机访问,则拒绝该请求

对于类似的事情,同样贫民窟的解决方案memory.loc.gov实际上是从单独的服务器中提取数据并将其存储在临时位置)

  1. 建立会话
  2. 当请求一个文件时,查看我们是否已经在该会话的本地目录中拥有该文件。
    • 如果我们有该文件,则显示它(重定向用户或使用脚本语言读取它)
    • 如果我们没有该文件,则检索它并将其粘贴在会话的临时目录中,然后按上述方式显示。
  3. 当会话的临时目录尚未被访问时TIME_PERIOD,将其删除。

相关内容