B/S模式互联网通信流程

  1. web浏览器发起请求

    • 请求地址:请求协议包://服务端计算机IP地址:http服务器端口号/网站名/资源文件

      • 网络协议包:一组有规律的二进制数据,存储在固定的空间当中,在指定空间下专门存储指定数据,降低接收方解析难度。

      • Http网络协议包:B/S结构下的网络通信,浏览器向http服务器发送请求信息,http服务器向浏览器返回资源文件信息都是通过请求协议包传递的。

        • http网络协议包的分类:

          • http请求协议包

            • 浏览器准备向服务器发送请求时,负责生产一个请求协议包

            • 浏览器在向服务器发送请求时,负责将请求信息写入到http请求协议包

            • 由浏览器负责推送请求协议包到http服务器中。

             

          • http响应协议包

            • 服务器在准备返回结果时,负责产生一个http响应协议包

            • 由http服务器调用输出流将文件内容(文字,图片,帧,命令等)以二进制形式写入到http响应协议包中。

            • 由http服务器将响应协议包推送到发起请求的浏览器当中。

        • Http请求协议包的内部结构:

          • 请求行:请求地址+请求方式(get/post)

          • 请求头:存放get请求方式下的请求参数信息

          • 空白行:无内容,起隔离作用

          • 请求体:存放post请求方式下的请求参数信息

        • Http响应协议包的内部结构:

          • 响应行:HTTP状态码

          • 响应头:content-type-->指定浏览器使用对应解析器或者编译器对返回的二进制数据进行解析或者编译

          • 空白行:无内容,起隔离作用

          • 响应体:本次索要文件内容(二进制形式存放)

        • Http服务器:

          • 所有的http服务器都是由Java编程语言开发的应用程序

          • http服务器可以接收由浏览器发送的http请求协议包

          • http服务器可以解析http请求包二进制数据了解用户需求

          • http服务器可以自动定位被访问的资源文件

          • http服务器可以自动将被访问的文件内容/文件运行结果通过输出流以二进制形式写入到http响应协议包的响应体中。

          • http服务器可以自动将http响应协议包推送回请求的浏览器。

     

    • 请求方式:get/post

      • get请求方式参数信息不得超过4K,可以在浏览器的地址栏看到请求的参数信息。效率高,但不安全。浏览器访问服务器大部分默认是get方式

      • post请求方式可携带的参数信息不受限制,不可以在浏览器的地址栏看到请求的参数信息,效率低,但是安全。

    • 请求参数:

      • 指的其实就是服务器中Java程序中实例化的对象中的方法传递的参数信息。

  2. 服务器接受并响应

    • http服务器接收浏览器发送过来的请求协议包

    • http服务器根据请求协议包(二进制文件)解析用户需求

    • http服务器在服务端计算机的静态资源文件和动态资源文件中寻找用户需求相关的资源文件

      资源文件的分类:

      • 动态资源文件(Java世界中的动态资源文件其实指的就是.class文件)

        命令

      • 静态资源文件

        文字,图片,命令(html , css)