1、c/s架构
即Client-Server(C/S)结构,服务器-客户机。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。也就是通常说的app,exe和服务器架构。
2、b/s架构
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。客户通过网页获取服务器信息和资源。
3、http协议
http协议全称超文本传输协议,http协议默认端口号80端口,http是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。即不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器端才能回复数据。
安全性:不安全,消息未经加密,https协议是经过ssl加密的协议是安全通信协议,默认端口443.
状态码:1xx--信息性状态码,2xx--成功状态码,3xx-重定向,4xx--客户端状态错误,5xx--服务器状态错误码
http版本:http1.0:默认短连接,浏览器与服务器建立短时间的连接,每次请求都需要重新建立连接,缺点:连接无法复用,
http1.1:默认长连接,减少了建立关闭连接的消耗和延迟,一个tcp连接上可以传送多个http请求。并且在http1.0的基础上增加了更多的请求头和相响应头,用于扩充功能。 HTTP 1.1 引入了管道机制(Pipelining),即客户端可通过同一个TCP连接同时发送多个请求。如果客户端需要请求两个资源,以前的做法是在同一个TCP连接里面,先发送A请求,然后等待服务器做出回应,收到后再发出B请求;而管道机制则允许浏览器同时发出A请求和B请求,但是服务器还是按照顺序,先回应A请求,完成后再回应B请求。缺点:后发送的请求受到前面请求的阻塞,即head-of-line blocking
http2.0:性能提升,使用了多路复用,二进制分帧,首部压缩,服务端推送等技术。
注:多路复用,简而言之,多路复用允许您的浏览器一次触发同一连接上的多个请求,并以任何顺序接收回请求。
数据流:每个tcp连接上可以建立任意多个双向数据流,
二进制分帧:把一个http响应文件,分层一个一个帧,每个帧包含流标识信息,优先级权重,http头,还有数据区域。
多路复用,通过同一个tcp连接上多个双向数据流发送和接收请求,由于每个帧包含流标识信息,所有每个响应帧可以交错发送,然后在客户端组装起来,提高了性能。
请求方式;get,post.
4、web服务器原理
1、客服端发送请求
2、浏览器与客服端程序简历tcp连接
3、浏览器解析http请求
4、浏览器安照http格式将响应数据发送到浏览器
5、浏览器解析响应数据并展示
Web服务器的本质就是 接收数据 ⇒ HTTP解析 ⇒ 逻辑处理 ⇒ HTTP封包 ⇒ 发送数据
5、Java web开发环境搭建
1、安装jdk
2、配置环境变量
3、安装tomcat服务器
4、安装mysql数据库
5、安装idea
6、新建maven-web项目
7、配置tomcat插件和路径
8、启动tomcat
9、访问本地路径,查看是否创建成功