本地主机和打开html文件的区别
Posted
技术标签:
【中文标题】本地主机和打开html文件的区别【英文标题】:Difference between Localhost and opening html file 【发布时间】:2017-03-05 10:24:24 【问题描述】:在localhost中使用服务器运行文件和打开file:///Users/$user_name/$your_directory/index.html
等文件的根本区别是什么,假设没有使用后端,并且它只是前端并且包含html/css /js
这也如何影响与其他服务器的交互,即。 ajax 请求?
很抱歉,如果这太宽泛了,但我还没有找到这些基本问题的可靠答案。
【问题讨论】:
【参考方案1】:答案很简单, 如果你还没有为“index.html”创建活动后端,那么它不会影响。例如-“localhost”和“index.html”这次将是相同的。
但是当你开始使用后端时,大多数后端进程都需要一个活动服务器(需要本地主机)。
例如- 1. fetch('local.json')... //fetch json 或任何文件都不适用于本地文件。 2. 你可能不会与 mysql/django 等数据库交互。 意味着它会导致注册/登录错误,将任何图像/视频/文档存储在数据库等中。
在 localhost 中工作更好,最简单的方法是:-
VScode(IDE) >> extenctions >> live server (just need to click a button to make
localhost and click again to stop localhost)
https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer
【讨论】:
【参考方案2】:从根本上说,假设您将在某个时候将结果托管在实际的 Web 服务器上,前者与目标环境匹配,而后者则不匹配。浏览器处理本地文件和从 Web 服务器(甚至是 localhost
Web 服务器)提供的文件不同,尽管非常相似。一方面是编码:当您从 Web 服务器检索文件时,确定数据采用何种编码的过程与打开本地文件不同。
这也会如何影响与其他服务器的交互,即。 ajax 请求?
这是处理它们的主要方式之一,甚至因浏览器而异。从同源策略的角度来看,从 file://
URL 加载的页面具有源 null
。某些浏览器(例如 Chrome)完全 不允许来源 null
的跨域资源共享,即使您尝试与之通信的服务器具有广泛开放的 CORS 策略 (*
)。其他(如 Firefox)允许 origin null
匹配通配符。
一般来说,为了获得最佳效果,请确保您的开发环境在重要方面与您的部署环境相匹配。这意味着使用 Web 服务器进程而不是本地文件进行开发。大多数 IDE 会很乐意为您提供该过程;如果没有,Apache 或 nginx 并不难安装。
【讨论】:
这回答了我的问题的基础!我引发这个问题的问题实际上是 CORS 错误。感谢您的帮助【参考方案3】:我认为这不会有任何不同。 购买使用chrome有例外!有时我看到如果一个 html 文件添加了一些 CDN 链接,那么它不会专门在 chrome 中加载到 html 中,但是如果你在 FF 或 IE 中尝试 psame 文件,它就可以工作。 我遇到过这个问题,所以我总是把它放在本地 IIS 默认网站下。
【讨论】:
@那些消极标记的人至少应该分享他们的想法并说出他们的想法!以上是关于本地主机和打开html文件的区别的主要内容,如果未能解决你的问题,请参考以下文章