当前位置: 首页 > Web前端 > HTML

20170809-从URL输入到页面呈现

时间:2023-04-02 23:09:26 HTML

从URL输入到页面呈现1.输入URLURL:UniformResourceLocator,是对可以从Internet获取的资源的位置和访问方式的简明表示。URL由以下部分组成:协议、服务器名称(或IP地址)、路径、参数和查询。例如:常用协议:协议中文名默认端口号http超文本传输??协议80https安全套接字层传输的超文本传输??协议443ftp文件传输协议21TELNET远程终端协议23如果地址中不包含端口号,则根据协议的默认端口号决定了一个。2、根据URL,在本地DNS缓存中查找域名对应的IP地址。浏览器和操作系统在获取到网站域名的实际IP地址后,会对IP地址进行缓存。读取DNS缓存中域名对应的IP地址,减少网络请求的丢失(先在浏览器DNS缓存中查找,如果找不到,会在操作系统DNS缓存中查找)。浏览器和操作系统都有固定的DNS缓存时间,其中Chrome的过期时间为1分钟,在此期间内不会重新请求DNS。Chrome浏览器查看自身DNS缓存时间更方便。在地址栏输入:chrome://net-internals/#dns查看本地DNS缓存:3.如果在本地DNS缓存中没有找到该域名对应的域名,则查询hosts文件中的IP地址,会查询hosts文件是否有当前域名对应的IP地址,如果有则直接使用,如果没有则DNS服务器必须解析域名完成域名的转换名称和IP。4、域名解析域名系统DNS(DomainNameSystem):用于将人们使用的域名转换为IP地址的系统。它是一个在线分布式数据库系统,采用客户服务器模式。域名到IP地址的解析:当浏览器需要将域名解析为IP地址时,会调用解析程序,成为DNS的客户端,将解析后的域名以如下形式放入DNS请求报文中UDP用户数据报发送到本地域名服务器可以是路由器或运营商服务器)。本地域名服务器搜索到域名后,在回复报文中返回对应的IP地址。浏览器获取到相应的IP地址后,就可以进行下一步的通信了。如果本地域名服务器找不到对应的IP,则该域名服务器暂时成为DNS中的另一个客户端,向其他域名服务器发送查询请求。此过程一直持续到找到能够响应请求的域名服务器为止。5、浏览器与服务器建立连接,向服务器发送请求。当浏览器获取到域名对应的IP地址后,就会使用TCP协议与服务器建立连接(三次握手)。与服务器建立连接后,浏览器会使用相关协议(http或https)向服务器发送请求。HTTP协议请求方法主要有:get、post、put、delete等方法。6、服务端接收到请求并进行处理,最后返回结果。服务器是安装了系统的机器,常见的有Linux、windowsserver2012等系统,安装在系统中处理请求的应用程序称为Web服务器。常见的Web服务器包括Apache、Nginx、IIS和Lighttpd。Web服务器接收用户请求,或接受请求并将它们反向代理到其他Web服务器。(以MVC框架为例)当服务端收到用户的请求时,首先Controller(控制器)根据用户的请求调用对应的Model(模型)处理与用户请求相关的业务逻辑(包括添加、删除、修改、检查数据库)),然后将处理结果传递给对应的View(视图),构造展示页面(HTML文件)。最后,服务器通过HTTP响应返回相应的资源(HTML文件)。7、浏览器处理响应浏览器收到服务器的响应后,会逐句读取并解析响应中的HTML字符串,解析到link标签并重新发送下载css文件的请求,解析到script标签重新发送请求下载js文件,执行代码,解析img标签后重新发送请求获取图片资源。浏览器根据html和css计算渲染树,结合相关js的执行结果,最终将网页绘制到屏幕上。在查找资料的过程中,看到一篇简单有趣的文章:HTML页面加载和解析过程。用户输入URL(假设是HTML页面,并且是第一次访问),浏览器向服务器发送请求。服务器返回html文件;浏览器开始加载html代码,发现标签中有一个标签引用了外部CSS文件;浏览器发送CSS文件请求,服务器返回CSS文件;浏览器继续加载html中部分的代码,已经获取到css文件,可以渲染页面;浏览器在代码中找到引用图像的标记,并向服务器发送请求。这时候浏览器不会等到图片下载完成,而是继续渲染下面的代码;服务器返回图片文件,因为图片占用了一定的区域,影响了后面段落的排列,所以浏览器需要返回重新渲染这部分代码;浏览器发现包含一行Javascript代码的