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


How long does it take from uploading ftp for it to show http?

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

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

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

它"神奇地"使用了正确的、更新的脚本。这是什么?当我通过ftp上传和当我的页面得到"正确"服务之间是否有一些延迟?

我用的是fatcow,他们用的是sftp,这没什么关系。

我只是糊涂了。当我通过ftp访问文件时,它是正确的。

等一下,让我想想。FZ有url复制的东西。当我复制一个url时,它会给出ftp://@ftp(域名)。(域名).com/css/div_image_container.css

当我引用的东西在html没有http://,是某种方式总是执行ftp?但是地球上的每个用户都需要凭证,或者至少需要读权限。

无论如何,已经30多分钟了,那个css文件的http://地址仍然包含错误的代码。

在ftp和http之间显然存在某种区别,这在名义上很明显,但这是我第一次认为通过ftp上传几乎等同于通过http"检索"的假设在适当的时候被动摇了。

应该是立即的

添加查询字符串eg

http://example.com/?345678

会阻止缓存,

仔细检查你是否上传到了正确的地方,如果做不到这一点,请咨询您的提供商

您很可能会遇到缓存问题。通常情况下,在从原始源再次获取资源之前,资源会被缓存并从缓存中提供一段时间。这样做是为了减少最终用户的延迟(如果在本地缓存,它比经过几跳要快得多,如果在一跳之外缓存,它仍然比经过三跳来获取它要快)。

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

同意缓存问题。

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

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

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

这将把Unix时间戳作为参数附加到CSS文件名,每秒给出一个新参数。只要加载页面的次数不超过这个次数,浏览器在加载样式表时就不会碰到缓存。

我知道这是一个旧的线程,但我遇到它时,我遇到了一个类似的问题,并认为我的信息可能会帮助别人:

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

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

我想补充一下,我也有同样的经历,这显然是由于服务器的缓存。

我通过FileZilla手动编辑样式表上的一个属性,然后保存它。当我进入真正的实时页面时,没有任何变化。甚至当我刷新FTP连接并查看文件,确认属性100%存在时,页面仍然呈现旧文件的输出。它只是没有在现场反映

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

我还不是专业人士,所以我不能在我的回答中给出太多细节。然而,我唯一的信息来源是培训我/帮助我建立网站的专家。他在早些时候指出,我们的主机提供商似乎有非常激进的缓存。我只能假设这就是更新文件延迟的原因。