首先,什么是互联网通信呢?
通俗地说,就是两台计算机通过网络来实现文件共享。
在互联网通信中,有两位角色:
客户端计算机:用于发送请求,向服务端索要资源,以及接收服务端提供的资源
服务端计算机:用于接收请求,接收客户端的请求,并将资源发送给客户端
什么是请求?
请求,就是向服务端索要资源。有很多种形式,比如我们在地址栏中输入网址,比如我们登陆我们的账号等等,都是请求的形式。
什么是响应?
响应,就是向客户端提供资源。有很多种形式,比如客户端输入网址后,向其提供一个网站,比如客户端登陆账号,服务端通过检查其账号和密码是否正确,决定能不能登陆成功等等,都是响应的形式。
互联网通信有两种模型,一种是B/S模型,一种是C/S模型。
两种模型:
B/S模型:Browser/Server模型,浏览器/服务器模型。
C:client software,客户端软件
1)客户端软件安装在客户端计算机上
2)向服务端计算机发出请求,索要文件
3)将服务端计算机发送回来的【二进制数据】解析为各种格式的文件
S:server software,服务端软件
1)服务端软件安装在服务端计算机上
2)接收客户端发送过来的请求
3)根据请求定位到自身的资源文件上,并将文件解析为【二进制数据】发到客户端软件上
C/S模型:Client/Server模型,客户机/服务器模型。
特点和B/S模型无区别,也是客户端发请求,服务端发响应
常见软件:
B/S模型:火狐浏览器,谷歌浏览器等通过输入网址来获取服务端服务的软件。
C/S模型:QQ,微信等。
应用场景:
B/S模型:适用于个人娱乐,广泛应用于企业的日常使用
优点:服务成本低;浏览器由产商更新,不需要公司自己更新
缺点:很难保护服务端计算机中的资源文件;服务端计算机压力大(高并发)
C/S模型:更使用于个人娱乐,企业办公较少
优点:安全性高(安装了软件才能和服务端交流);降低服务端计算机压力(命令大多在客户端执行)
缺点:服务成本高(服务端需要高电脑配置来跟上软件的运行);软件更新繁琐
互联网通信有两种模型,一种是B/S模型,一种是C/S模型。
两种模型:
B/S模型:Browser/Server模型,浏览器/服务器模型。
C:client software,客户端软件
1)客户端软件安装在客户端计算机上
2)向服务端计算机发出请求,索要文件
3)将服务端计算机发送回来的【二进制数据】解析为各种格式的文件
S:server software,服务端软件
1)服务端软件安装在服务端计算机上
2)接收客户端发送过来的请求
3)根据请求定位到自身的资源文件上,并将文件解析为【二进制数据】发到客户端软件上
C/S模型:Client/Server模型,客户机/服务器模型。
特点和B/S模型无区别,也是客户端发请求,服务端发响应
常见软件:
B/S模型:火狐浏览器,谷歌浏览器等通过输入网址来获取服务端服务的软件。
C/S模型:QQ,微信等。
应用场景:
B/S模型:适用于个人娱乐,广泛应用于企业的日常使用
优点:服务成本低;浏览器由产商更新,不需要公司自己更新
缺点:很难保护服务端计算机中的资源文件;服务端计算机压力大(高并发)
C/S模型:更使用于个人娱乐,企业办公较少
优点:安全性高(安装了软件才能和服务端交流);降低服务端计算机压力(命令大多在客户端执行)
缺点:服务成本高(服务端需要高电脑配置来跟上软件的运行);软件更新繁琐
什么是共享资源文件?
其实只要你想,所有的文件都是可以通过网络进行共享的,这些文件称为共享资源文件。
共享资源文件可以分为:静态资源文件和动态资源文件
静态资源文件:当用户多次访问这个资源,资源的源代码永远不会改变的资源。最常见的是html文件。文件中存放的是命令,这些命令在浏览器中被编译并执行,执行后就是我们在浏览器上看到的内容。
动态资源文件:当用户多次访问这个资源,资源的源代码可能会发送改变。不能在浏览器中编译执行,是在服务端计算机中编译执行。
emmmmm,好吧,这样说可能会有点抽象,上图!
假如我们向服务器要静态资源文件,服务端如果有,会直接发送给客户端。
假如我们向服务器要动态资源文件,服务器(服务器是指服务端计算机+对应软件)会根据请求调用指定的编写好的 java 类,这些类可以进行的操作就多了,比如可以让你跳转到另一个页面(你输入百度的网址,结果跳到了京东);比如你进行登录时,类可以去数据库找记录来和你的账号和密码进行匹配,决定你能不能登录成功等等。这些拿到的数据,最终会渲染在页面上(jsp文件)。
【所以说,动态资源文件其实是动静态的结合】
后端开发人员要做的三件事:
1)控制浏览器请求方式
2)编写Servlet类
3)控制浏览器拿到响应
当然,以上三步由配置文件及Servlet类完成。
这些都只是作为了解,等学Servlet,这些就能有更深的印象和理解了。