-
页面内容多而复杂,怎样保证开发效率
借助符合场景的前端框架,eg.jQ ,MVVM
-
页面内容多而复杂,项目管理如何去维护
用模块化和组件化的思路来管理,即采用代码管理中分而治之的方法,将复杂的代码结构拆分成多个独立,简单,解耦合的结构或文件管理分开
-
页面加载内容很多,怎样保证尽快的将网页显示给用户
通过异步方式来处理
-
怎样限制页面内的图片大小以保证页面快速发展
图片优化处理,使用更高压缩的webp格式图片
-
对于重复打开的页面,能否让浏览器不再向服务器发起请求
利用文件缓存,浏览器默认支持缓存,对于重复的请求,服务器会返回HTTP的304状态码或者不发送请求
-
访问过程
- 接收用户输入的网址,浏览器对用户输入的url地址进行判断
- 调用浏览器引擎中的对应方法,比如WebView中的loadUrl方法分析这个URL地址
- 通过DNS解析获取的该网站地址IP地址,查询完后连用浏览器的Cookie,UserAgent等信息向目的IP发出GET请求
- 进行HTTP协议对话,浏览器向Web服务器发送报文
- 进入网站后台上的Web服务器处理请求,如Apache,Tomcat,node,js
- 进入部署好的后端应用,如PHP,JAVA,Python,找到对应点的处理请求逻辑,会读取服务器缓存或查询数据库
- 服务器处理请求,并返回响应报文,如果缓存有对应的资源,会与服务器最后的记录进行对比,一致0返回304,否则返回对应的200和对应的内容
- 浏览器开始下载HTML文档,或从本地缓存读取内容(304)
- 浏览器根据收到的HTMl文件解析结构建立DOM文档树,下载MIME文件(CSS,JS)
- 页面开始渲染DOM,CSS,根据规则进行布局和渲染