本地主机和打开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文件的区别的主要内容,如果未能解决你的问题,请参考以下文章

本地主机中的 XAMPP 延迟

如何在本地主机(任何端口)上运行 html 文件

delphi 打开本机相对路径的.html文件

Android浏览器如何打开本地html文件

如何使用 PHP 从上传到本地主机的一个 html 文件重定向到磁盘上的另一个 html 文件?

检查文件是不是存在于 javascript 和 HTML 中,如果您在本地打开页面