Java Web基础

最近要开始学习javaweb方面的知识了,在学习之前先来大致的了解一下基础性的知识。

C/S架构

 

C/S架构是第一种比较早的软件架构,主要用于局域网内。也叫 客户机/服务器模式。

 

它可以分为客户机和服务器两层:

 

第一层:  在客户机系统上结合了界面显示与业务逻辑;

 

第二层:  通过网络结合了数据库服务器。

 

简单的说就是第一层是用户表示层,第二层是数据库层。

 

  这里需要补充的是,客户端不仅仅是一些简单的操作,它也是会处理一些运算,业务逻辑的处理等。也就是说,客户端也做着一些本该由服务器来做的一些事情,如图所示:

 


 

 

 

 

 

C/S架构软件有一个特点,就是如果用户要使用的话,需要下载一个客户端,安装后就可以使用。比如QQ,OFFICE软件等。

 

1、C/S架构的优点:

 

1 C/S架构的界面和操作可以很丰富。(客户端操作界面可以随意排列,满足客户的需要)

 

2 安全性能可以很容易保证。(因为只有两层的传输,而不是中间有很多层。

 

3 由于只有一层交互,因此响应速度较快。(直接相连,中间没有什么阻隔或岔路,比如QQ,每天那么多人在线,也不觉得慢)

 

2、C/S架构的缺点:

 

可以将QQ作为类比:

 

1 适用面窄,通常用于局域网中。

 

2 用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户。

 

3 维护成本高,发生一次升级,则所有客户端的程序都需要改变。
原文链接:https://blog.csdn.net/sea_snow/article/details/81187804

 

B/S架构

 

B/S架构的全称为Browser/Server,即浏览器/服务器结构。

 

Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现。

 

B/S架构的系统无须特别安装,只有Web浏览器即可。

 

其实就是我们前端现在做的一些事情,大部分的逻辑交给后台来实现,我们前端大部分是做一些数据渲染,请求等比较少的逻辑。

 

B/S架构的分层:

 

与C/S架构只有两层不同的是,B/S架构有三层,分别为:

 

第一层表现层:主要完成用户和后台的交互及最终查询结果的输出功能。

 

第二层逻辑层:主要是利用服务器完成客户端的应用逻辑功能。

 

第三层数据层:主要是接受客户端请求后独立进行各种运算。

 

如图所示:

 

 

 

 

 

 

B/S架构的优点:

 

1、客户端无需安装,有Web浏览器即可。 
2、BS架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。 
3、BS架构无需升级多个客户端,升级服务器即可。可以随时更新版本,而无需用户重新下载啊什么的。

 

B/S架构的缺点:

 

1、在跨浏览器上,BS架构不尽如人意。 
2、表现要达到CS程序的程度需要花费不少精力。 
3、在速度和安全性上需要花费巨大的设计成本,这是BS架构的最大问题。 
4、客户端服务器端的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意看到的。(在Ajax风行后此问题得到了一定程度的缓解)
原文链接:https://blog.csdn.net/sea_snow/article/details/81187804

 

HTTP协议

 

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

 

 HTTP是基于客户/服务器模式,且面向连接的。典型的HTTP事务处理有如下的过程:

(1)客户与服务器建立连接;
(2)客户向服务器提出请求;
(3)服务器接受请求,并根据请求返回相应的文件作为应答;
(4)客户与服务器关闭连接。
  客户与服务器之间的HTTP连接是一种一次性连接,它限制每次连接只处理一个请求,当服务器返回本次请求的应答后便立即关闭连接,下次请求再重新建立连接。这种一次性连接主要考虑到WWW服务器面向的是Internet中成干上万个用户,且只能提供有限个连接,故服务器不会让一个连接处于等待状态,及时地释放连接可以大大提高服务器的执行效率。
  HTTP是一种无状态协议,即服务器不保留与客户交易时的任何状态。这就大大减轻了服务器记忆负担,从而保持较快的响应速度。HTTP是一种面向对象的协议。允许传送任意类型的数据对象。它通过数据类型和长度来标识所传送的数据内容和大小,并允许对数据进行压缩传送。当用户在一个HTML文档中定义了一个超文本链后,浏览器将通过TCP/IP协议与指定的服务器建立连接。
  从技术上讲是客户在一个特定的TCP端口(端口号一般为80)上打开一个套接字。如果服务器一直在这个周知的端口上倾听连接,则该连接便会建立起来。然后客户通过该连接发送一个包含请求方法的请求块。
  HTTP规范定义了9种请求方法,每种请求方法规定了客户和服务器之间不同的信息交换方式,常用的请求方法是GET和POST。服务器将根据客户请求完成相应操作,并以应答块形式返回给客户,最后关闭连接。

 

javaWeb开发环境搭建

开发工具idea安装教程:https://blog.csdn.net/a158123/article/details/102690129

环境配置:https://www.cnblogs.com/-heart-/p/10554904.html

 

posted @ 2020-05-11 14:48  cadaver  阅读(202)  评论(0编辑  收藏  举报