JavaWeb1——互联网通信流程、共享资源文件、开发人员角色

1.第3阶段学习

1.1.学习任务

  1. 掌握互联网通信流程

1.2.学习特点

1.2.1.背,互联网通信流程中的每一个细节
1.2.2.本阶段使用的命令都是老旧命令,无需记忆。

1.3.学习要求

1.3.1.一定要背好互联网通信细节
1.3.2.多多交流

1.4.涉及技术(老旧)

  1. 控制浏览器行为技术:HTML,CSS,JavaScript
  2. 控制硬盘上数据库行为技术:MySql数据库服务器管理使用(SQL是重点),JDBC规范
  3. 控制服务端Java行为技术:Http服务器,Servlet,JSP
  4. 互联网通信流程开发规则
  5. 贯穿项目———在线考试管理系统

2.互联网通信

2.1.什么是互联网通信

  1. 两台计算机通过网络实现【文件共享】行为

2.2.互联网通信过程的角色划分

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

2.3.互联网通信模型

1.C/S通信模型——(Client、Server)

C,client software;客户端软件

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

S,server software;服务器软件

  1. 安装:服务器软件专门安装在服务端计算机上
  2. 接收资源请求:服务器软件用于接收来自于特定的客户端软件发送请求
  3. 定位资源文件:服务器软件在接收到请求之后自动的在服务端计算机上定位被访问的资源文件
  4. 解析为2进制数据,并发送:服务器软件自动的将定位的文件内容解析为【二进制数据】通过网络发送回发起请求的客户端软件上

适用场景:C/S通信模型普遍用于个人娱乐市场

  •  比如【微信,淘宝/京东,视频(优酷/B站),大型网络游戏(魔兽/英雄联盟)】
      企业办公领域相对应用较少
    

优点:

  1. 安全性较高
  2. 有效降低服务端计算机工作压力

缺点:

  1. 增加客户获得服务的成本
  2. 更新较为繁琐
2.B/S通信模型——(Browser、Server)

B:browser,浏览器

  • 1)浏览器安装在客户端计算机软件
  • 2)可以向任意服务器发送请求,索要资源文件
  • 3)可以将服务器返回的【二进制数据】解析为文字,数字,图片,视频,命令】
    S: server software 服务器软件
  • 1)服务器软件专门安装在服务端计算机上
  • 2)可以接收任意浏览器发送请求
  • 3)自动的在服务端计算机上定位被访问的资源文件
  • 4)自动的将定位的资源文件内容以二进制形式发回发起请求浏览器上

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

优点:

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

缺点:

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

3.共享资源文件

3.1.什么是共享资源文件

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

3.2.Http服务器下对于共享资源文件分类

  • 1.静态资源文件
  • 2.动态资源文件
3.2.1.什么是静态资源文件?

1.如果文件内容是固定的,这种文件可以被称为“静态资源文件”(文本、图片、影音)
2.如果文件存放的是命令,这些命令只能在浏览器下编译与运行,也成为“静态资源文件”

  • eg.(.html、.css、.js)
3.2.2.什么是动态资源文件?

如果文件存放的是命令,并且命令不能在浏览器下编译与运行,必须在服务器计算机编译运行,这种文件称为“动态资源文件”

  • eg.(.class文件)

3.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(结果)
    

4.开发人员在互联网通信流程扮演的角色?

1.控制浏览器行为。

2.开发【动态资源文件】来解决用户需求。

你可能感兴趣的:(JavaWeb,java)