打开一个http页面会有多次http请求吗?

我在使用webview中的过程中,打开一个页面,然后如果有404错误则显示错误页面,
在使用过程中我发现打开一个页面,总共请求了7次,其中有2次请求的资源返回的是404,这就导致了页面原本是可以加载的,但是还是显示了错误界面。

所以我想请教一下,打开一个http页面 并不是只有一次网络请求吗?(不是只会返回一次200,或404或其他)?

阅读 4.5k
3 个回答

会有很多次,包括
文档: html 文件本身
资源: 图片 视频 js文件 css文件
数据: ajax请求
等等

浏览器 F12 会看得很清楚

一个页面包括很多部分,如果你的页面中包含图片、样式文件和从后端拉取的数据等。就不是请求一次了,会请求很多次。

一般webview判定加载失败主要是判断获取html文档部分是否是200,加载完成html之后还有很多需要进行异步加载的地方,比如获取css、js、图片等数据,重写onLoadResource可以看到加载了哪些资源文件。至于显示错误页面还需要看服务器的设置,有的服务器会针对404、502之类的错误进行重定向让你跳转到指定的页面上,而不是webview中自带的错误页面,这种页面一般是服务器那边的问题,和本机有没有正确响应页面没什么关系。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题