android webview如何工作?它是否使用客户端 - 服务器关系?它会导致服务器端代码错误吗?

时间:2012-06-19 14:22:41

标签: android webview client-server android-webview server-side

为了简明扼要,我想知道android webview如何在封面下工作。我已经浏览了互联网,找不到讨论webview类的内部工作的文章或资源。它本质上是一个用于在浏览器中查看网页的模拟器,对吧?

这是否意味着它采用严格的客户端 - 服务器关系,即Android浏览器,还是比它更复杂?

是否有任何理由在Android浏览器中完美显示网页,但在Android应用中通过webview打开时会产生服务器端错误?也就是说,webview会导致服务器端代码错误吗?

谢谢。

3 个答案:

答案 0 :(得分:2)

你的问题似乎是基于其他人已经解决的一些误解。

我会反而评论别人忽略的事情:

虽然默认的Android浏览器基于与webview相同的引擎,但它大大扩展到了不完全记录/非公开api的方式,将在事实表现不同。所以,是的,有很多原因可以在默认浏览器中使用某些功能,但不能在webview中使用。其中一些差异可以通过webview的配置选项轻松纠正,其他的将非常棘手,您可能需要查看替代浏览器的来源以找到可跨Android版本移植的解决方案(就像浏览器的方式一样)它与它所构建的特定版本相关联。

如果客户端行为的差异会导致服务器端出错,则取决于服务器对客户端做出的假设,以及它对意外客户端行为的强大程度。

答案 1 :(得分:1)

考虑webview的最佳方式是它是没有地址栏的本机Web浏览器。它将呈现HTML,CSS,javascript等,与普通浏览器完全相同。

我看不出为什么google会创建原生浏览器然后忽略该代码而不将其扩展为其SDK中的webview的原因?

答案 2 :(得分:1)

  

它本质上是一个用于在浏览器中查看网页的模拟器,对吗?

仅限于任何Web浏览器“是用于在浏览器中查看网页的模拟器”。 WebView是WebKit Web资产检索和呈现引擎,位于Safari,Chrome等的核心。

  

这是否意味着它采用严格的客户端 - 服务器关系,即Android浏览器

AOSP Android浏览器以及除Opera和Mozilla以外的大多数Android浏览器使用 WebView。因此,您在服务器端使用WebView时看到的行为通常与WebView的其他用户无法区分。

  

也就是说,webview会导致服务器端代码错误吗?

不会超过任何其他浏览器。