美文网首页
输入URL如何展现页面

输入URL如何展现页面

作者: innerwang | 来源:发表于2018-11-05 19:25 被阅读0次

    URL是什么

    uniform resource locator ,统一资源定位符,用于定位互联网上的资源

    url对应协议,端口号,域名以及其他相关信息
    常见协议: http,https,ftp,file
    http是明文传输;https是安全的http协议

    //code.jquery.com/ 代表当前文件的url所使用的协议和当前页面所使用协议保持一致

    >>>:域名解析

    浏览器不知道url其中域名所对应的IP地址,所以需要通过域名解析

    IP地址

    局域网IP和公网IP是有区别的,本机IP是127.0.0.1

    域名解析的流程
    1. 查找浏览器缓存 ----> 浏览器会缓存DNS记录一段时间
    2. 查找系统缓存 ----> 查看电脑的hosts文件是否有对应的域名的IP
    3. 查找路由器缓存 ----> 一般路由器也会缓存域名信息
    4. ISP DNS缓存 ----> 比如到电信的DNS上查找缓存
    5. 如都没有查到,则向根域名服务器查找域名对应IP,根域名服务器把请求转发到下一级,直到找到IP

    ---扩展小知识---

    1. 8.8.8.8是谷歌提供的DNS,114.114.114.114是国内移动、电信、联通通用的DNS,上不了网时可以修改为上述DNS
    2. DNS劫持:攻击服务器节点,在域名解析时给一个假的IP或者不做响应

    >>>:服务器处理

    服务器是安装了Linux、Windows Server 2012等系统的机器,系统里安装了可处理请求的应用Web server

    • 常见web服务器有Apache、Nginx、IIS、Lighttpd
    • web服务器接收用户的Request交给网站代码,或者接收请求反向代理到其他web服务器
      web服务器是一个统一管控/承载的工具,需要写一个配置文件,看哪个访问对应哪一套代码去处理

    >>>:网站处理流程

    后台语言:Ruby,node.js,python等

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

    • 浏览器发送请求过来由Rails路由去匹配,再交给控制器,控制器的index动作要求模型读取所有用户,模型操作数据库,给控制器提供接口,就可以查到信息,视图就是html的模板,把数据插入模板,控制器把HTML送回浏览器
    浏览器处理
    • 解析到link标签/href标签 请求获取CSS
    • 解析到script标签 发送请求获取js,并执行代码
    • 解析到img标签请求获取图片资源
    • 浏览器根据HTML以及CSS计算得到渲染树,绘制到屏幕上,js会被执行

    输入一个www.baidu.com后续的执行过程
    • url输入到浏览器,浏览器首先会解析域名www.baidu.com得到对应的IP,将请求发送到对应IP的服务器,服务器上装的web server(例如Nginx)应用会处理收到的http请求,交给对应的网站代码处理,网站代码即为后端处理,会将请求所需的查询的内容塞入视图的模板,返回一个html,此时浏览器接收到html字符串会针对相应的标签进行解析,再请求相应的资源(如链接,js代码等),浏览器根据解析得到的结果画出页面并执行js代码。

    相关文章

      网友评论

          本文标题:输入URL如何展现页面

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