简述互联网通信流程


1、什么是互联网通信

两台计算机通过网络实现文件共享行为,就是互联网通信


简述互联网通信流程_第1张图片

2、互联网通信过程角色划分

  1. 客户端计算机:用于发送请求,来索要资源的计算机
  2. 服务端计算机:用于接收请求,并提供对应的资源文件计算机


    简述互联网通信流程_第2张图片

3、互联网通信模型

3.1、C/S通信模型:

  • C,client software;客户端软件
    1. 客户端软件专门安装在客户端计算机上
    2. 帮助客户端计算机向指定服务端计算机发送请求,索要资源文件
    3. 帮助客户端计算机将服务端计算机发送回来二进制数据解析为文字、数字、图片、视频、命令

  • S,server software;服务器软件

    1. 服务器软件专门安装在服务端计算机上

    2. 服务器软件用于接收来自于特定客户端软件发送请求

    3. 服务器软件在接收到请求之后自动在服务端计算机上定位被访问的资源文件

    4. 服务器软件自动的将定位的文件内容解析为二进制数据通过网络发送回发起请求的客户端软件上


  • 适用场景:C/S通信模型普遍用于个人娱乐市场,比如【微信,淘宝/京东,视频(优酷/B站),大型网络游戏(魔兽/英雄联盟)】,企业办公中应用较少


  • 优缺点:

    优点:

    1. 安全性较高

    2. 有效件降低服务端计算机工作压力

    ​ 缺点:

    1. 增加客户获得服务成本
    2. 更新较为繁琐

3.2、B/S通信模型:

  • B;browser,浏览器
    1. 浏览器安装在客户端计算机软件
    2. 可以向任意服务器发送请求,索要资源文件
    3. 可以将服务器返回的二进制数据解析为文字、数字、图片、视频、命令

  • S;server software 服务器软件
    1. 服务器软件专门安装在服务端计算机上
    2. 可以接受任意浏览器发送请求
    3. 自动的在服务端计算机上定位被访问的资源文件
    4. 自动的将定位的资源文件内容以二进制形式发送回发起请求浏览器上

  • 适用场景:既适用于个人娱乐市场,又广泛用于企业日常活动

  • 优缺点:

    ​ 优点:

    1. 不会增加用户获得服务成本
    2. 几乎不需要更新浏览器

    ​ 缺点:

    1. 几乎无法有效对服务端计算机资源文件进行保护
    2. 服务端计算机工作压力异常巨大----->B/S通信下高并发解决方案

4、共享资源文件

4.1、什么是共享资源文件

可以通过网络进行传输的文件,都被称为共享资源文件

所有的文件内容都可以通过网络传输,所有文件都是共享资源文件


4.2、Http服务器下对于共享资源文件分类

  1. 静态资源文件

    • 如果文件内容是固定的,这种文件可以称为【静态资源文件】(文档,图片,视频)
    • 如果文件存放的不是内容而是命令,这些命令只能在浏览器编译与执行。这种文件称为【静态资源文件】(.htnl,.css,.js)
  2. 动态资源文件

    • 如果文件存放命令,并且命令不能在浏览器编译与执行;只能在服务端计算机编译执行,这样的文件可以被称为【动态资源文件】(.class)

4.3、静态资源文件与动态资源文件调用区别

  • 静态文件被索要时,Http服务器直接通过【输出流】将静态文件中内容或者命令以【二进制形式】推送给发起请求浏览器

  • 动态文件被索要时,Http服务器需要创建当前class文件的实例对象,通过实例对象调用对应的方法处理用户请求,通过【输出流】将运行结果以【二进制形式】推送给发起请求的浏览器

    class Student{
           
        public int add(int num1,int num2){
           
            int sum = num1 + num2;
            return sum;
        }
    }
    
    //Http服务器(自动)
    //Student stu = new Student();
    //int 结果 = stu.add(10,20);
    //out.print(结果)
    

简述互联网通信流程_第3张图片

5、开发人员在互联网通信流程担负职责

5.1、控制浏览器行为

控制浏览器请求行为

  • 控制浏览器发送的请求地址

  • 控制浏览器发送请求方式

  • 控制浏览器请求携带参数


控制浏览器接收结果行为

  • 控制浏览器采用对应【编译器】将接收二进制数据解析为【文字,视频,图片,命令】
  • 控制浏览器将解析内容或者命令进行执行与展示(全局刷新展示/局部刷新展示)
  • 控制用户与浏览器之间交流【js------>jquery】

5.2、开发动态资源文件

简述互联网通信流程_第4张图片

你可能感兴趣的:(javaWeb,javaweb,后端)