static-libraries - 拥有 css、js 和 media 子域的优点

标签 static-libraries scaling subdomain

将 css、js 和媒体文件夹分开在子域(例如

)下有什么好处
css.domain-name.com
js.domain-name.com
media.domain-name.com

我知道可扩展性从静态/媒体文件开始,但是从子域提供它们有什么优势吗?

如果是这样,我应该在什么程度上这样做?例如,如果我允许照片上传,我是否应该将“uploads”文件夹放在 media 子域下?

谢谢

最佳答案

我会将上传与通用布局中使用的静态文件(例如 Logo 、图标等)分开,因此清除现有文件以上传新设计要容易得多,而不必担心上传不会被删除。删除/覆盖。

至于域名,我不会那样分割文件。一个子域用于静态文件,一个子域用于上传 - 很好。但我不会为脚本或样式表添加一个。

不过,使用子域可能有优势,根据网络服务器,您可以配置整个虚拟主机以遵守特定规则,例如不提供目录列表或不允许访问图像以外的任何文件 - 或拒绝提供热链接文件(不必担心特定的子目录)。它还可以让以后更轻松地将文件移动到另一台主机,例如用于媒体文件或下载到云托管服务。

考虑到您的示例,我将使用以下子域:

www.domain-name.com (basic web presence)
static.domain-name.com or media.domain-name.com (serving support files like js, css, images, etc. - stuff that doesn't change and can be cached for a long time)
uploads.domani-name.com (serving uploaded files)

不要使其过于复杂,因为这样您不会获得任何额外的性能(除非使用不同的服务器并且您预计负载很重)。事实上,页面加载可能会更慢(由于额外的 DNS 查找),并且您可能会遇到安全限制,例如关于 cookie 有效性/可访问性或跨域脚本。

关于static-libraries - 拥有 css、js 和 media 子域的优点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6716523/

相关文章:

sql-server - 从用于 Multi-Tenancy 的单一数据库/单一模式数据库架构开始

c++ - 如何链接 C++ 以使用静态 C 库中定义的变量(找不到符号错误)

windows - 默认 Windows 缩放到 150%?

c - 如何创建具有不同定义的静态链接库的两个实例?

variables - 在 Node.js 中,为什么我应该更喜欢键值存储而不是应用程序变量?

azure - 如何在 Windows Azure 应用程序中使用通配符子域?

networking - Vagrant "domain forwarding"

regex - 在 Golang 中使用正则表达式从 URL 中提取子域

c++ - 使用 CMake 包含来自静态库的头文件

iphone - IOS 静态库产品常亮红色