现代Web应用程序的离线和套接字选项是什么?
所以我一直在考虑构建一个相当复杂的应用程序。 构建html5版本的想法已经变得非常有吸引力。 然而,我有一些关于它的问题。
我首先关心的是离线应用程序API目前的可靠程度。 我一直在研究这个标准:http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html,它看起来很容易实现和使用,但我想知道它是多么容易是用? 假设你设置了清单等,网络应用程序是否通过转到您最初下载应用程序的相同url来访问(离线)?
我的其他问题是使用套接字。 这个离线应用程序仍然需要能够与本地服务器进行通信,但我希望避免必须托管Web服务器,然而套接字连接却是合理的。 当浏览器脱机时,websockets目前的工作情况如何? 是否有可能,即使没有活跃的互联网连接,也能运行完全联网/交互式浏览器应用程序? (在应用程序第一次下载之后)
任何见解都会很棒!
这是很多问题,您可能需要考虑将其分解为更直接与您正在尝试实现的内容更直接相关的更易于回答的部分。 同时,我会尽力为您的每个问题提供一个简短的答案:
我首先关心的是离线应用程序API目前的可靠程度。
相当可靠的是,它们已经在大多数主流网页浏览器(IE除外)上实现了许多版本。
是刚刚访问(离线)的网络应用程序,通过转到您最初下载应用程序从相同的网址?
是。 一旦离线应用程序被缓存,应用程序将从该缓存中提供。 除非你明确地从清单的NETWORK
或FALLBACK
部分请求URL或者根本没有被清单所覆盖,否则不会进行网络请求,除了检查清单本身是否已经改变之外。
这个离线应用程序仍然需要能够与本地服务器进行通信,但我希望避免必须托管Web服务器,然而套接字连接却是合理的。
Web Socket仍然需要Web服务器。 Web Socket的初始握手是通过HTTP进行的。 Web Socket与TCP / IP中的套接字不同。
当浏览器脱机时,websockets目前的工作情况如何?
当你将浏览器设置为离线模式时,它们根本无法工作,它根本不会发出任何网络请求。 请注意,设置为脱机的浏览器与脱机API中的脱机不同。 离线API主要关心是否可以访问托管应用程序的服务器,而不是浏览器当前是否连接到网络,或者该网络是否连接到互联网。 如果服务器出现故障,那么应用程序就像“离线”一样,就好像用户计算机上的网络电缆被拔掉一样。 阅读这篇博文,特别是评论。 我常用的检测离线状态的方法是在FALLBACK
部分设置一对文件,以便在线时可以得到一个文件,而另一个文件在离线时 - 使用AJAX请求该文件并查看获得的内容。
是否有可能,即使没有活跃的互联网连接,也能运行完全联网/交互式浏览器应用程序?
是的,但我不认为这意味着你认为它的作用。 在不同计算机上的不同浏览器上运行的应用程序的单独实例无法通过Web服务器进行通信。 然而,没有要求网络服务器'在互联网上',它将会很好地坐在本地网络上。
链接地址: http://www.djcxy.com/p/44713.html上一篇: What are my offline and socket options for a modern web application?