ife2018 Day1 浏览器究竟如何生成一个页面

举个栗子,浏览器想要访问CSDN的页面,访问过程大致如下图所示。即浏览器和服务器交流,服务器和数据库交流。
在这里插入图片描述
1.用户操作浏览器访问一个网站,浏览器向服务器发出一个http请求
2.服务器接收到http请求,web server进行相应的初步处理,使服务器脚本生成页面
3 web server调用本地和客户端传来的数据,生成页面
4 web server将生成的页面作为http响应的body,将处理的不同结果(404 not found/200 OK等)生成http响应的header
5 客户端(浏览器)接收到 HTTP 响应,首先对html代码开始解析
6 解析过程中遇到引用服务器上的资源(额外的css,js,图片,音视频,附件等),再向web server发出请求,web server找到对应的文件,再发回来
7 浏览器将dom树和cssom树进行渲染,js也有可能会对外观进行改变
8 用户与页面进行交互 (点击、悬停等),js对此作出反应,添加特效与动画
9 交互的过程中可能需要向服务器索取或提交额外的数据(局部的刷新,类似微博的新消息通知),一般不是跳转就是通过 JS 代码(响应某个动作或者定时)向 Web Server 发送请求,Web Server 再用服务器脚本进行处理(生成资源or写入数据之类的),把资源返回给客户端,客户端用得到的资源来实现动态效果或其他改变。

总结

20190905 用时2h 主要学习了浏览器访问页面的过程
对浏览器生成页面的流程已经大体了解,如上文。
对web server,web services有个大致印象,不能自己做出解释,浏览器访问过程的第九点没有理解,需要后续继续深入阅读
哪些东西今天学了之后还有很多疑问没有被解答,把问题记录下来,以待后续解决:
http响应的header中都有些什么?
如果结果是404 not found ,也能返回一个网页吗?
浏览器提交额外数据的过程?

大部分引用:
作者:张秋怡
链接:https://www.zhihu.com/question/22689579/answer/22318058
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值