美文网首页
图解HTTP:从输入网址到呈现

图解HTTP:从输入网址到呈现

作者: 这里王工头 | 来源:发表于2019-01-28 00:47 被阅读0次

    欢迎访问我的博客https://qqqww.com/,祝码农同胞们早日走上人生巅峰,迎娶白富美~~~

    那首先上图,看下图参照下面的说明

    HTTP

    说明

    下面以按具体流程讲解:

    1. 当用户需要请求github.com的时候,首先要打开浏览器,输入URL地址,即输入github.com
    2. 浏览器发起 DNS 调用去解析URL中的域名字段:
      1. 先检查本地缓存中有没有这个域名
      2. 如果有,浏览器将接收到的URL中抽取出域名字段,就是访问的主机名,比如https://github.com,并将这个主机名传送给DNS应用的客户端
      3. 如果没有查找系统hosts文件有没有这个域名,如果有,解析出IP
      4. 如果没有,DNS客户机端向DNS服务器端发送一份查询报文,报文中包含着要访问的主机名字段
      5. DNS客户机最终会收到一份回答报文,其中包含有该主机名对应的IP地址
    3. 一旦该浏览器收到来自DNSIP地址,就可以向该IP地址定位的HTTP服务器发起TCP连接
      1. 浏览器先通过本地随机端口去建立一个通向服务端的连接通道,此通道遵循HTTP协议
      2. 浏览器将客户端信息打“包”
      3. 将“包”通过连接通道发送到服务端
    4. 服务端接收并打开这个“包”,读取到里面的请求路径
    5. 根据文件请求路径找到MIME-TYPE,即获得了消息内容类型
    6. 判断这个文件是否为静态文件,如果是静态文件,自己处理,如果自己不能处理,交给自己服务中的其他“小弟们”处理
    7. 如果是静态文件,则读取静态文件内容,将内容返回给客户端
    8. 如果不是静态文件,则发送给“小弟”处理,这里假设PHP能处理,就按照PHP的语法规则去处理并返回给服务端
    9. 服务端将处理好的数据以及其他一些内容,打“包”并通过之前建立的通道发送给客户端
    10. 客户端接收并打开这个服务端发送回来的“包”,找到其中的Content-Type
    11. 根据Content-Type指定的编码格式(例如html,css,javascript等),决定怎么去处理这些文件或者渲染网页
    12. 假设是HTML,则直接渲染到网页结构上

    相关文章

      网友评论

          本文标题:图解HTTP:从输入网址到呈现

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