美文网首页饥人谷技术博客
从 URL 输入到页面展现发生了什么

从 URL 输入到页面展现发生了什么

作者: 饥人谷_菠萝 | 来源:发表于2017-02-24 19:22 被阅读0次

    一、从浏览器输入URL

    URL(Uniform Resoure Locator) 统一资源定位器。
    举个栗子:个人身份证、家里的门牌号。具有唯一性

    标准格式:协议类型://服务器地址(必要时需加上端口号)/路径/文件名

    日常使用:
    传送协议(http 绝大多网页不用输入http 是因为网页内容是超文本传输协议文件)
    服务器。(通常是域名或是ip地址)
    端口号。(以数字方式表示,若为HTTP的默认值“:80”可省略)
    路径。(以“/”字符区别路径中的每一个目录名称)
    查询。(GET模式的窗体参数,以“?”字符为起点,每个参数以“&”隔开,再以“=”分开参数名称与数据,通常以UTF8的URL编码,避开字符冲突的问题)

    二、域名解析

    baidu.com 就是一个域名,但浏览器不认识域名,所以需要通过DNS(域名系统)将该域名解析成IP地址。当电脑没找到该IP地址就会往上跳,查询上级服务器,还是没有,则向根域名服务器查找域名对应 IP,根域名服务器把请求转发到下一级,直到找到 IP。

    为什么要发明域名,不直接用IP?

    简单易记,更易分清。

    三、服务器处理

    服务器是一台安装系统的机器,常见的系统如Linux、windows server 2012
    系统里安装的处理请求的应用叫 Web server。

    Web服务器

    Web服务器
    常见的 web服务器有 Apache、Nginx、IIS、Lighttpd
    web服务器接收用户的Request 交给网站代码,或者接受请求反向代理到其他 web服务器。

    web服务器.png

    第四步. 网站处理流程

    MVC 模型(model)-视图(view)-控制器(controller)

    rails_mvc

    浏览器向 /users 发送请求
    Rails 的路由把 /users 交给 Users 控制器的 index 动作处理
    index 动作要求 User 模型读取所有用户(User.all)
    User 模型从数据库中读取所有用户
    User 模型把所有用户组成的列表返回给控制器
    控制器把所有用户赋值给 @users 变量,然后传入 index 视图
    视图使用嵌入式 Ruby 把页面渲染成 HTML
    控制器把 HTML 送回浏览器

    浏览器处理
    HTML字符串被浏览器接受后被一句句读取解析
    解析到link 标签后重新发送请求获取css
    解析到 script标签后发送请求获取 js,并执行代码
    解析到img 标签后发送请求获取图片资源

    绘制网页
    浏览器根据 HTML 和 CSS 计算得到渲染树,绘制到屏幕上
    js 会被执行

    相关文章

      网友评论

        本文标题:从 URL 输入到页面展现发生了什么

        本文链接:https://www.haomeiwen.com/subject/dphiwttx.html