Webserver的流程及应用

在了解整个流程之前,我们先了解一下域名、URL、IP地址的概念。

IP地址是使用网络合约分配给网络上的设备的数字标签,如“202.108.22.5”,对应一个设备一对一的关系。

域名是IP地址的语义表示(IP地址是数字符号,不易记忆)。目的是为了便于记忆。比如baidu.com是百度的域名,202.108.22.5是它的IP地址。

URL(UniformResourceLocator的缩写)称为Uniform Resource Locator,简称为URL。它的标准格式是合约类型:[//服务器地址[:end banner]][/resource-level UNIX file path]filename[?query][#slice ID],在大多数浏览器中,不需要完成输入,只需输入部分。

这里我们以“当用户打开浏览器,进入baidu.com输入网址后就跳转到其他网址,进入首页”为例进行说明。

1.域名解析

对于baidu.com这个域名,浏览器其实并不知道它代表什么。需要找到baidu.com网站所在服务器的ip地址才能找到目标。

域名解析的过程:首先在浏览器缓存中(浏览器会缓存一段时间的dns记录)查找是否有baidu.com对应的IP地址。如果没有,到系统缓存中查看hosts文件中是否有对应域名的IP地址。如果没有,从路由器缓存中查找(通常路由器也会缓存域名信息)。如果没有从ISPDNS缓存(网络运营商)中查找,如果还是没有,则在根域名服务器上查找,根域名服务器将请求转发到下一级,直到找到对应的ip。

2.服务器处理

通过IP地址找到所在服务器后,由服务器处理。

服务器是安装系统的机器。常见的系统如Llinux、Windowsserver2012,安装在系统中处理请求的应用程序称为Webserver。常见的Webservers有:Apache、Nginx、IIS、LighttpdWebserver 这个程序用来接收用户的Request,作为一个控制工具(服务器上配置了不同url对应的代码),浏览器向baidu.com发送请求输入网址后就跳转到其他网址,并通过这个控制工具,找到对应的网站代码并运行。

3.网站代码处理流程

请求对应的网站代码开始运行。

后台语言匹配接收请求的路由/baidu。路由将请求发送到控制器。控制器根据请求向数据模型模型发送对所需相关数据的请求。从数据库中找到相关的数据模型,得到的数据通过socket返回给控制器。控制器将数据发送到视图(可以理解为模板)。视图将数据组合成 html 并将其发送给控制器。控制器将html字符串返回给浏​​览器4.Browser Process

浏览器接收到 HTML 字符串,然后逐句读取和解析。解析链接标签时,它会重新发送请求以获取 css 代码。解析脚本标签后,发送获取js的请求并执行代码。解析完img标签后,发送请求获取图片资源(重复网站代码处理流程)。

5.概述网页

浏览器根据HTML和CSS估计渲染树,JS在屏幕上绘制的时候就会执行。

草绘完成后,用户会看到百度主页。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 网站程序 Webserver的流程及应用 https://www.wkzy.net/game/9627.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务