zoukankan      html  css  js  c++  java
  • 客户端浏览器向服务器发起http请求的全过程

    http协议的参考:http://blog.csdn.net/hefeng6500/article/details/75081047

    (1)浏览器先搜索自身的DNS缓存


    (2)操作系统搜索自身的DNS缓存(浏览器没有找到缓存或者缓存已经失效)


    (3)读取本地的HOST文件


    (4)浏览器发起一个DNS的一个系统调用


             宽带运营商服务器查看本身缓存


             查看本身缓存,没有?--->运营商服务器发起一个迭代DNS解析的请求

    运营商服务器向根域服务器发起请求xxx.com的ip地址是多少?根域回复:我不知道,但我知道com域顶级域名的ip地址,你问它;
    运营商服务器向com域顶级域名服务器请求xxx.com的ip地址是多少?com域服务器回复:我不知道,但我知道xxx.com这个域的ip地址;
    运营商服务器xxx.com这个域服务器(域名的注册商提供的)发起请求xxx.com的ip地址是多少?xxx.com这个域服务器:结果发送给运营商DNS服务器,
    运营商DNS服务器拿到了ip地址,返回给操作系统内核,再返回给浏览器;


             运营商服务器把结果返回操作系统内核同时缓存起来


             操作系统内核把结果返回浏览器


             浏览器就拿到了www.imooc.com的IP地址
    (5)浏览器获得域名对应的IP地址后,发起HTTP“三次握手”


    (6)TCP/IP链接建立起来后,浏览器就可以向服务器发送HTTP请求了


    (7)服务器端接受到了这个请求,根据路径参数,经过后端的一些处理之后,把处理后的结果数据返回给浏览器,比如页面完整的html代码等返回给浏览器


    (8)浏览器拿到了完整的html代码后,在解析和渲染这个页面的时候,里面的JS,CSS,图片静态资源,他们同样也是一个个http请求,都要经过上面的主要七个步骤。


    (9)浏览器根据拿到的资源对页面进行渲染,最终把一个完整的页面呈现给了用户。



  • 相关阅读:
    WebAPI下的如何实现参数绑定
    MYSQL主从不同步延迟原理
    mysql的limit经典用法及优化
    ASP.NET MVC中的模型绑定
    使用EF实现数据库的增删改查
    NoSQL数据库技术特性解析之文档数据库
    MySQL 缓存 Query Cache
    Loadrunner test web service which need username and password
    vb写文件时报'Invalid procedure call or argument'
    Shell 笔记
  • 原文地址:https://www.cnblogs.com/lantinggumo/p/7636714.html
Copyright © 2011-2022 走看看