zoukankan      html  css  js  c++  java
  • 浏览器与服务器交互过程

    示意流程图:

      在浏览器的地址栏中输入URL地址"http://www.gacl.cn:8080/JavaWebDemo1/1.jsp"去访问服务器上的1.jsp这个web资源的过程中,浏览器和服务器都做了神马操作?

      1、浏览器根据主机名"www.gacl.cn"去操作系统的Hosts文件中查找主机名对应的IP地址。

      2、浏览器如果在操作系统的Hosts文件中没有找到对应的IP地址,就去互联网上的DNS服务器上查找"www.gacl.cn"这台主机对应的IP地址。

      3、浏览器查找到"www.gacl.cn"这台主机对应的IP地址后,就使用IP地址连接到Web服务器。

      4、浏览器连接到web服务器后,就使用http协议向服务器发送请求,发送请求的过程中,浏览器会向Web服务器以Stream(流)的形式传输数据,告诉Web服务器要访问服务器里面的哪个Web应用下的Web资源,如下图所示:

    这就是浏览器向Web服务器发请求时向服务器传输的数据

    "GET /JavaWebDemo1/1.jsp HTTP/1.1"这里面的内容,

        GET:告诉Web服务器,浏览器是以GET的方式向服务器发请求。

        /JavaWebDemo1/1.jsp:告诉Web服务器,浏览器要访问JavaWebDemo1应用里面的1.jsp这个Web资源。

        HTTP/1.1:告诉Web服务器,浏览器是以HTTP协议请求的,使用的是1.1的版本。

      5、浏览器做完上面4步工作后,就开始等待,等待Web服务器把自己想要访问的1.jsp这个Web资源传输给它。

      6、服务器接收到浏览器传输的数据后,开始解析接收到的数据,服务器解析"GET /JavaWebDemo1/1.jsp HTTP/1.1"里面的内容时知道客户端浏览器要访问的是JavaWebDemo1应用里面的1.jsp这个Web资源,然后服务器就去读取1.jsp这个Web资源里面的内容,将读到的内容再以Stream(流)的形式传输给浏览器,如下图所示:

    7、浏览器拿到服务器传输给它的数据之后,就可以把数据展现给用户看了,如下图所示:

  • 相关阅读:
    一步一步教你认识闭包
    爬虫入门系列(三):用 requests 构建知乎 API
    爬虫入门系列(二):优雅的HTTP库requests
    爬虫入门系列(一):快速理解HTTP协议
    Python中参数是传值,还是传引用?
    切图及效果图管理
    在GlassFish应用服务器上创建并运行你的第一个Restful Web Service【翻译】
    hybrid开发设计
    Gson解析数组多类型元素
    eclipse项目迁移到android studio(图文最新版)
  • 原文地址:https://www.cnblogs.com/jiechn/p/4485481.html
Copyright © 2011-2022 走看看