一、C/S
1.1 简介
服务器-客户机,即Client-Server结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。
1.2 优缺点
优点:C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。具体表现在以下两点:应用服务器运行数据负荷较轻以及数据的储存管理功能较为透明。
缺点:在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统开发不同版本的软件, 加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高, 效率低,其次C/S架构的劣势还有高昂的维护成本且投资大。
二、B/S
2.1 简介
B/S结构(Browser/Server,浏览器服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,服务器上装有数据库。浏览器通过Web Server 同数据库进行数据交互。
2.2 优缺点
优点:B/S架构最大的优点是总体拥有成本低、维护方便、 分布性强、开发简单,可以不用安装任何专门的软件就能 实现在任何地方进行操作,客户端零维护,系统的扩展非常容易,只要有一台能上网的电脑就能使用,维护和升级方式简单,成本降低,选择更多。
缺点:最大的缺点就是通信开销大、系统和数据的安全性较难保障。
三、HTTP协议
3.1 简介
HTTP是应用层协议,同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。HTTP协议是基于C/S架构进行通信的,而HTTP协议的服务器端实现程序有httpd、nginx等,其客户端的实现程序主要是Web浏览器,Web服务是基于TCP的,因此为了能够随时响应客户端的请求,Web服务器需要监听在80/TCP端口。这客户端浏览器和Web服务器之间就可以通过HTTP协议进行通信了。
3.2 工作原理
HTTP是基于客户/服务器模式,且面向连接的。典型的HTTP事务处理有如下的过程:
1. 客户与服务器建立连接;
2. 客户向服务器提出请求;
3. 服务器接受请求,并根据请求返回相应的文件作为应答;
4. 客户与服务器关闭连接。
3.3 报文格式
HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。请求报文格式如下:
请求行 - 通用信息头 - 请求头 - 实体头 - 报文主体
应答报文格式如下:
状态行 - 通用信息头 - 响应头 - 实体头 - 报文主体
3.4 HTTP的状态码
状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:
- 1xx:指示信息--表示请求已接收,继续处理
- 2xx:成功--表示请求已被成功接收、理解、接受
- 3xx:重定向--要完成请求必须进行更进一步的操作
- 4xx:客户端错误--请求有语法错误或请求无法实现
- 5xx:服务器端错误--服务器未能实现合法的请求
四、WEB服务器原理
1. 用户做出了一个操作,可以是填写网址敲回车,可以是点击链接,可以是点击按键等,接着浏览器获取了该事件。
2. 浏览器与对端服务程序建立TCP连接。
3. 浏览器将用户的事件按照HTTP协议格式**打包成一个数据包,其实质就是在待发送缓冲区中的一段有着HTTP协议格式的字节流。
4. 浏览器确认对端可写,并将该数据包推入Internet,该包经过网络最终递交到对端服务程序。
5. 服务端程序拿到该数据包后,同样以HTTP协议格式解包,然后解析客户端的意图。
6. 得知客户端意图后,进行分类处理,或是提供某种文件、或是处理数据。
7. 将结果装入缓冲区,或是HTML文件、或是一张图片等。
8. 按照HTTP协议格式将(7)中的数据打包
9. 服务器确认对端可写,并将该数据包推入Internet,该包经过网络最终递交到客户端。
10. 浏览器拿到包后,以HTTP协议格式解包,然后解析数据,假设是HTML文件。
11. 浏览器将HTML文件展示在页面。
五、java web 开发环境与搭建
5.1 jdk安装与环境变量配置
5.2 idea安装
5.3 tomcat安装
5.4 idea配置tomcat