我应该为 webkiosk 创建一个子域吗
Should I create a subdomain for webkiosk
假设有一个名为 x.com 的餐厅网站,我们也为 x.com 设计了一个网络服务亭。您将如何在 IIS 上构建网站内容,最佳做法是什么。
例如 :
您应该将 webkiosk 作为一个名为 kiosk 的子文件夹放入 x.com 并通过 x.com/kiosk 访问它,还是创建一个名为 kiosk.x.com 的子域指向 kiosk 子文件夹?或其他被认为是这种情况的最佳实践的东西。提前致谢
您可能需要提供更多信息以获得更具体的答案,但希望这会有所帮助。顺便说一句,我以前在 IIS 上开发过,所以我的 IIS 知识已经过时了。
简短回答/TLDR:使用子域,因为它在长 运行.
中更灵活
主要考虑因素是:系统更改、安全性和谁拥有系统访问权限。
系统更改
假设网站和信息亭在功能上有所不同,例如您很可能想要更改一个而不是另一个(功能更改、错误修复等)。它们联系得越紧密,就越难在不影响另一个的情况下更改一个(想想应用程序池重新启动等)。
你熟悉 Single Responsibility Principle (SRP) 吗?
这是一个面向对象的设计原则,但它不仅适用于 OO。
另一个需要考虑的变化是,当您需要拆分自助服务终端和网站的托管时会发生什么情况?假设您决定需要 运行 在完全不同的硬件上安装信息亭,或者在完全不同的堆栈中重新编写它?如果您使用子域,则可以在任何地方设置新堆栈,并在准备就绪时简单地重新指向子域。并且该网站没有受到任何影响。
安全
使用子域意味着可以在网络级别以不同方式处理流量,这意味着您可以更有效地使用 Web 应用程序防火墙 (WAF) 之类的东西。您可以制定更符合一个系统(例如自助服务终端)情况需求的 WAF 策略,而不会影响另一个系统。
谁有系统权限
谁在维护网站和信息亭 - 是同一家公司吗?如果是这样,那么访问同一台服务器似乎很好——但如果是不同的公司(或者甚至只是不同的团队),那么有一定程度的分离通常是明智的。拥有一个子域可以让管理变得更容易,因为您可以通过更多方式来控制它们并保持访问独立。
总结
一般而言,您做事越分离越好。因为它往往会给你更多的选择来应对变化。总会有一个缺点——比如在短期内更复杂,或者更不方便。好的架构就是为适应长期可能的变化奠定基础。
假设有一个名为 x.com 的餐厅网站,我们也为 x.com 设计了一个网络服务亭。您将如何在 IIS 上构建网站内容,最佳做法是什么。 例如 : 您应该将 webkiosk 作为一个名为 kiosk 的子文件夹放入 x.com 并通过 x.com/kiosk 访问它,还是创建一个名为 kiosk.x.com 的子域指向 kiosk 子文件夹?或其他被认为是这种情况的最佳实践的东西。提前致谢
您可能需要提供更多信息以获得更具体的答案,但希望这会有所帮助。顺便说一句,我以前在 IIS 上开发过,所以我的 IIS 知识已经过时了。
简短回答/TLDR:使用子域,因为它在长 运行.
中更灵活主要考虑因素是:系统更改、安全性和谁拥有系统访问权限。
系统更改
假设网站和信息亭在功能上有所不同,例如您很可能想要更改一个而不是另一个(功能更改、错误修复等)。它们联系得越紧密,就越难在不影响另一个的情况下更改一个(想想应用程序池重新启动等)。
你熟悉 Single Responsibility Principle (SRP) 吗? 这是一个面向对象的设计原则,但它不仅适用于 OO。
另一个需要考虑的变化是,当您需要拆分自助服务终端和网站的托管时会发生什么情况?假设您决定需要 运行 在完全不同的硬件上安装信息亭,或者在完全不同的堆栈中重新编写它?如果您使用子域,则可以在任何地方设置新堆栈,并在准备就绪时简单地重新指向子域。并且该网站没有受到任何影响。
安全
使用子域意味着可以在网络级别以不同方式处理流量,这意味着您可以更有效地使用 Web 应用程序防火墙 (WAF) 之类的东西。您可以制定更符合一个系统(例如自助服务终端)情况需求的 WAF 策略,而不会影响另一个系统。
谁有系统权限
谁在维护网站和信息亭 - 是同一家公司吗?如果是这样,那么访问同一台服务器似乎很好——但如果是不同的公司(或者甚至只是不同的团队),那么有一定程度的分离通常是明智的。拥有一个子域可以让管理变得更容易,因为您可以通过更多方式来控制它们并保持访问独立。
总结
一般而言,您做事越分离越好。因为它往往会给你更多的选择来应对变化。总会有一个缺点——比如在短期内更复杂,或者更不方便。好的架构就是为适应长期可能的变化奠定基础。