上传ftp到显示http需要多长时间?

时间:2011-04-14 03:03:34

标签: php http ftp

快速提问;我替换了一个我在html / php中引用的.css文件,其绝对地址为:http:/ www。[my silly domain] .com / css / div_image_container.css。

当我直接访问它时,它会给我一个我上传到ftp结构的文件的OLDER版本。 但是,在我的主页面中,使用基于相对的目录,例如:

<?php
if (condition true){
    print("<link rel=\"stylesheet\" type=\"text/css\"
    href=\"/css/div_image_container.css\"
    MEDIA=screen />");
}

它'神奇地'使用正确的,更新的脚本。这是什么?当我通过ftp上传和我的页面“正确”服务之间有一些延迟吗?

我正在使用fatcow,他们使用sftp,这无关紧要。

我很困惑。当我通过ftp访问文件时,它是正确的。

等一下,让我想一想。 FZ有一个网址复制的东西。当我复制一个网址时,它会提供一些形式的东西 ftp:// [域名] @ftp。[域名] .com / css / div_image_container.css

当我在没有http://的情况下引用html中的内容时,它是否总是以某种方式执行ftp?但是,地球上和其他地方的每个用户都需要凭据,或者至少需要读取权限。

任何方式都是30多分钟,该css文件的http://地址仍然包含错误的代码。

ftp http之间显然存在某种分离,名称显而易见,但这是我第一次假设通过ftp上传,在适当的时候,几乎等同于'检索'通过http已被动摇

6 个答案:

答案 0 :(得分:1)

它应该是即时的。

添加查询字符串,例如

http://example.com/?345678

它会阻止缓存,

仔细检查您是否正在上传到正确的位置, 没有与您的提供商谈话

答案 1 :(得分:1)

您很可能遇到缓存问题。在从原始源再次获取资源之前,通常会从缓存中缓存和提供资源一段时间。这样做是为了减少最终用户的延迟(如果它在本地缓存,它比通过几个跃点快得多,如果它在一跳之后缓存,那么仍然比出三跳来获得它更快) )。

这在加速Web应用程序方面实际上是一件好事,如果您永远不更改文件,您甚至可以将缓存过期设置为永不过期,以便始终从缓存中提供。为了强制获取资源,您可以将缓存策略设置为从不缓存文件(或者非常少量);但是,这会对您的用户产生延迟影响。另一种方法是为您提供两全其美的优势,它永远不会修改资源,将缓存策略设置为无限缓存,在您用于版本控制的资源名称上添加唯一签名,上传新的CSS文件使用不同的签名,然后修改您的PHP文件以指向具有新签名的CSS文件。资源名称的更改将强制获取资源(因为名称与缓存的名称不同),但“永远缓存”策略将使后续加载速度加快。

答案 2 :(得分:1)

同意缓存问题。

快速而肮脏的解决方案是删除调用php脚本(有时是相关文件),从浏览器调用url(强制404错误),然后重新上传脚本文件。它应该是新鲜的。

答案 3 :(得分:1)

我也相信这是一个缓存问题。防止缓存的一种简单方法是每次在CSS文件名上添加唯一参数。您可以创建一个基本且可预测的唯一参数,如下所示:

<?php
if (condition true){
    print("<link rel=\"stylesheet\" type=\"text/css\"
    href=\"/css/div_image_container.css?" . time() . "\"
    MEDIA=screen />");
}

这会将CSS时间戳附加到CSS文件名作为参数,每秒给出一个新参数。只要您不经常加载页面,浏览器在加载样式表时就不会点击缓存。

答案 4 :(得分:0)

我知道这是一个旧帖子,但是当我遇到类似的问题并且认为我的信息可能会帮助其他人时我遇到了它:

从我的fatcow支持票: “感谢您与我们联系。

由于我们在服务器上使用Varnish Caching技术,因此它似乎是清漆缓存的问题。默认的Varnish Cache时间限制在我们的服务器上设置为4小时。因此,您的网站可能不会立即显示更改。为了获得更好的性能,我在以下位置禁用了缓存:https://www.fatcow.com/controlpanel/cachecontrol/。 “

答案 5 :(得分:0)

我想补充一点,我只是拥有相同的体验,这显然是由于服务器的缓存。

我通过FileZilla手动编辑了样式表上的一个属性,然后将其保存。当我去实际的实际页面时,没有任何改变。即使我刷新FTP连接并查看文件,确认属性是100%,页面也呈现旧文件的输出。只是没有在现场网站上反映出来。

然后:三个小时后,我回到了网站,然后看,我添加属性的页面元素已经改变。

我不是专业人士,但我不能在答案中详细说明。但是,我的一个来源是培训我/帮助我设置我们网站的专家。他早些时候在此过程中指出,我们的托管服务提供商似乎具有非常积极的缓存。我只能假设这是延迟更新文件的答案。