美文网首页
从URL输入到页面展现

从URL输入到页面展现

作者: 唐喑喑 | 来源:发表于2017-12-02 15:30 被阅读11次

    一、web流程

    1. 用户请求资源
    2. 浏览器打包用户请求并发送
    3. 服务器根据资源路径及参数,产生响应发回给浏览器
    4. 浏览器解析结果,渲染页面

    二、具体实现

    1. URI转为服务器主机地址
    2. 浏览器http打包请求
    3. 创建TCP连接
    4. 浏览器发送请求
    5. 服务器处理请求
    6. 服务器响应请求,返回给浏览器
    7. 浏览器生成渲染树和DOM树渲染页面
    8. 处理页面嵌入资源和异步请求
    9. 非常规响应处理

    1.URL到服务器主机

    通过一个路径URL到服务器对应资源

    通过DNS(domain name system)将域名和ip对应

    DNS解析步骤:

    1. 浏览器缓存
    2. 系统缓存(操作系统)
    3. 路由器缓存
    4. ISP(internet service provider)缓存
    5. 递归搜索,从顶级域名服务器的根域名服务器开始查询

    2. 打包HTTP请求

    3. 创建TCP连接

    一般是通过TCP,UDP不可靠

    4. 浏览器发送请求

    请求类型:

    • GET
    • HEAD
    • POST
    • TRACE:路由,经历的结点
    • OPTIONS
    • PUT:往服务器上放内容
    • DELETE:在服务器上删出内容

    5. 相关进程处理请求

    监听端口号

    • http:80
    • https:443
    • ftp:21
    • ssh:22

    6. 服务器响应

    影响服务器生成结果

    • 请求方法
    • 路径
    • query srting
    • cookie
    • 服务器配置
    • 动态语言代码(php,java)

    7. 浏览器渲染页面

    浏览器下载和渲染是从上到下顺序

    • 解析HTML生成DOM树

    • 解析CSS生成渲染树:和所有样式一起解析

    • 解析JavaScript:采用阻塞方式,不能并行下载和解析,为了防止修改DOM结构

    8. 状态码

    • 200 OK

    • 301 moved permanently 重定向

    • 304 not modified 本地缓存失效,向服务器验证,若未失效则返回304

      Cache-Control:max-age=2592000
      Expires:Fri, 22 Dec 2017 10:08:32 GMT
      
    • 403 forbidden

    • 404 not found 未找到资源

    • 500 internal server error 内部服务器错误

    • 502 bad gateway 网关错误

    相关文章

      网友评论

          本文标题:从URL输入到页面展现

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