我制作的网络应用程序是中型的,它将成为单页静态JS + HTML应用程序(由Backbone制作,由nginx提供),可访问API,托管在适当的网络服务器上。
API应该使用不同的主机名,还是相同的主机名但路径不同?什么可能是专业人士和这些选择的缺点?由于nginx,这两个选项都是可行的。
答案 0 :(得分:1)
我建议使用直观的分离环境。拆分访问位置(如example.com
和api.example.com
)允许主机名描述每个环境的用途。将这些内容分开并保持清晰,同时为每个主机使用相同的主机名可能会导致对正在执行的请求类型产生混淆。
使用example.com/api
也是可能的,但是可能会导致将来出现将目录用于其他事情的问题。例如,example.com/newfeature
会有example.com/newfeature/api
这样的目录吗?
最后,这完全取决于个人偏好。选择适合您环境的东西。
答案 1 :(得分:0)
我认为您的问题有点无关紧要,只要您的代码对api的基本网址具有灵活性。确保您可以配置代码(包括javascript和后端),以便所有api URL都与某个配置参数相关,并且您可以灵活地将api服务放在您想要或需要的地方。
答案 2 :(得分:0)
我倾向于认为将所有内容放在同一主机名上可能是一个好主意,因为用户可能已禁用第三方Cookie,因此API服务器在您关闭浏览器后将无法识别您。在任何人告诉我之前我应该让主网站提供cookie,让我告诉你,我希望主网站是完全静态的HTML / JS文件,因此他们没有能力提供httpOnly cookies,这是我喜欢的那种饼干。