• 从浏览器输入URL到页面渲染的过程


    零、背景



    一个web安全工程师在学习web安全和web渗透时候,非常有必要了解整个WEB工作过程。

    一、输入URL



    这里是最基本的知识:URL是URI的一种实际应用,URI统一资源表示符,URL统一资源定位符。URL举例: https://www.xxx.com:443/index.php 前面是协议 https 然后是主机www.xxx.com 然后是端口 443,最后是资源在该主机上针对web系统根目录(通常为www)的相对路径。所以可以想象,根据WEB访问就是获取资源,已经知道端口、路径、协议,唯独缺乏对方的IP了,毕竟HTTP下层是TCP/IP嘛,所以这里就用到从域名(或者是主机名)获取其对应的IP地址。

    二、解析IP地址



    这里为啥不用DNS呢,是因为在windows里面不一定是用DNS解析的IP地址哦,还可能是netbios哈

    DNS 解析顺序


    在linux中一般先解析/etc/hosts中的静态配置的解析,如果不行再利用dns递归请求解析域名。在windows中一般是先dns cache(dns缓存),然后再hosts文件,最后是dns递归解析。

    Netbios 解析顺序


    首先这个只有windows才会有,一般只在局域网或域内生效,其解析顺序域操作系统也就是windows的版本有关系。另外和配置的模式有关系。一般的NetBIOS cache (NetBIOS缓存),然后是WINS Server和广播,最后是LMHOSTS。如果模式不一样,WINS服务器解析和广播的顺序有调整。

    三、发送HTTP请求



    其实这里未必是HTTP协议或者HTTPS协议,有可能是其他协议,但是HTTP(HTTPS)协议非常典型,这里就是以此为例进行讲解。这里发送HTTP请求,表明请求的资源或者提交的资源,在头部字段里会带有相应的身份验证信息、回话信息、登录状态信息和控制信息等。

    四、服务器处理并返回响应报文



    HTTP请求到大服务器后,服务器会进行处理,然后根据处理结果返回相应的返回包,包括返回状态、返回内容,头部字段中的对应的控制信息等。

    五、浏览器渲染页面



    现代浏览器的渲染过程如下:

    • 1.解析HTML构建DOM树
    • 2.构建渲染树
    • 3.布局渲染树
    • 4.绘制渲染树
  • 相关阅读:
    【python3的进阶之路一】正则表达式
    基础编程练习50道
    【python3的学习之路十四】IO编程
    【python3的学习之路十三】错误和调试
    【python3的学习之路十二】面向对象高级编程
    【python3的学习之路十一】面向对象编程
    jQuery之防止冒泡事件,冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件。
    手机移动端WEB资源整合
    js 验证表单 js提交验证类
    js单条新闻向上滚动
  • 原文地址:https://www.cnblogs.com/KevinGeorge/p/10198505.html
Copyright © 2020-2023  润新知