从输入网址到页面呈现的过程

WEB应用的本质

1、用户请求远程资源

2、浏览器查找远程资源,打包用户请求并发送

3、服务器根据请求,通过逻辑计算,回复结果给浏览器

4、浏览器解析结果,呈现给用户

过程:

1、根据URL查找服务器地址:逐级查找(浏览器缓存》系统缓存》路由器缓存》ISP DNS缓存》根服务器)

2、建立TCP/IP连接(三次握手),打包并发送请求

3、服务器收到请求,交给相关进程处理

4、服务器处理请求并响应,发送结果给浏览器(状态码:304,本地有缓存的资源请求服务器时,服务器判断若没有修改,返回状态码,不再发送数据)

5、浏览器接收结果并解析(先渲染树,然后DOM树(边下载边渲染))

6、处理页面嵌入资源和异步请求

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

从0开始学习SpringCould(7)-SpringBoot 多环境配置

为什么需要多环境配置? 真正开发中,环境一般都是分离的,多数情况下都分为:开发环境、测试环境、生产环境等等。 以这三套环境为例,如果这三套环境有三个数据库,每次...

2145
来自专栏程序猿

Windows环境Java开发环境搭建

本文讲解在Windows操作系统下如何搭建Java环境变量。 一、首先下载JDK安装包。 二、安装。 三、配置Java环境变量。 四、运行CMD测试是否安装成功...

3335
来自专栏Java技术栈

jstack命令:教你如何排查多线程问题

这是之前的一个死锁案例: 一个多线程死锁案例,如何避免及解决死锁问题? 如程序中发生这样的死锁问题该如何排查呢?我们可以使用java自带的jstack命令进行...

4226
来自专栏云计算教程系列

如何在Ubuntu上安装ionCube

ionCube是一个PHP模块扩展,可加载加密的PHP文件并加速网页。ionCube Encoder可以把PHP源代码转换成ByteCode。进行加密授权处理后...

1070
来自专栏惨绿少年

OpenSUSE 服务器系统部署

1、准备 1.1 下载系统 下载地址:https://software.opensuse.org/distributions/leap     目前的最新版本为...

3727
来自专栏编程坑太多

一个简单的Django项目

1464
来自专栏Python中文社区

VPS防止黑客攻击第一步:修改端口号(centos7)

1. 打开sshd_config文件,增加端口号,如1457,同时注释掉#port 22前的#,重启sshd。 [root@localhost .ssh]# v...

26510
来自专栏决胜机器学习

PHP网络技术(六)——session及与cookie的比较

PHP网络技术(六) ——session及与cookie的比较 (原创内容,转载请注明来源,谢谢) 一、概念 session是持续的、双向性的...

3687
来自专栏挖坑填坑

Asp.net+Vue2构建简单记账WebApp之三(使用Vue-cli构建vue.js应用)

1133
来自专栏linux系统运维

磁盘格式化,磁盘挂载以及手动增加swap

2085

扫码关注云+社区