Web和JavaWeb

Web:

全球广域网,万维网(www),能够通过浏览器访问的网站。

JavaWeb:

顾名思义JavaWeb就是利用Java技术来解决相关Web互联网领域的技术栈。

JavaWeb技术栈:

B/S架构:

Browser/Server,浏览器/服务器 架构模式。

浏览器只需请求服务器获取Web资源,服务器把Web资源发给浏览器即可。

简言:浏览器请求服务器,服务器响应给浏览器

B/S架构的好处:易于维护升级,服务器端升级后,客户端无需任何部署就能使用到新版本

服务端的资源:
静态资源:

静态资源包括HTML、CSS、JavaScript、图片等,主要负责页面展示

前端三剑客:HTML+CSS+JavaScript

张三 登录以后在网页的右上角看到的是 张三 ,而 李四 登录以后看到的则是 李四 。所以不同的用户访问相同的资源看到的内容大多数是不一样的,要想实现这样的效果,光靠静态资源是无法实现的。
动态资源:

动态资源包括Servlet、JSP等, 主要负责逻辑处理

动态资源处理完逻辑后把得到的结果交给静态资源来展示,结合使用。

动态资源虽然可以处理逻辑,但是当⽤⼾来登录百度的时候,就需要输⼊ 用户名 密码 ,这个时候我们就⼜需要解决的⼀个问题是,⽤⼾在注册的时候填⼊的⽤⼾名和密码、以及我们经常会访问到⼀些数据列表的内容展⽰(如下图所⽰),这些数据都存储在哪⾥?我们需要的时候⼜是从哪⾥来取呢?————>数据库!

数据库:

数据库主要负责存储数据。 

整个Web的访问过程:

1.浏览器发送请求到服务端,去请求所需的资源

2.资源分为静态和动态的,动态可以是使用Java代码按照Servlet和JSP的规范编写的内容

3.在Java代码可以进行业务处理也可以从数据库中读取数据

4.拿到数据后交给HTML页面展示,结合CSS和JavaScript使效果更好

5.服务端将静态资源响应给浏览器

6.浏览器将资源解析

7.解析后效果展示在浏览器,用户看到最终的结果

Web服务器:

负责解析HTTP协议,解析请求数据并发送响应数据

Web服务器软件:

IIS、Apache、JBoss、Tomcat

Tomcat是Apache组织的开源Java Servlet容器和JSP引擎

HTTP协议:

主要定义通信规则。TCP、UDP都属于规则,HTTP协议也是一种规则。

HTTP概念:

HyperText Transfer Protocol:超文本传输协议。规定浏览器和服务器之间数据传输的规则。

HTTP协议特点:

无连接性:每个HTTP请求都独立、减少资源占用不需保存连接,缺点是每次请求都要重新建立连接可能会增加延迟,尤其大量请求的情况

无状态性:不会记住之前的请求,使得有简单性和可伸缩性,但也需通过Cookie和Session等机制维护应用程序状态,以实现用户认证和会话管理。

基于文本:使用文本格式传输数据,请求和响应消息都是可读的文本构成,使得HTTP非常易于调试理解,但相对于二进制格式来说会占用更多的资源。

支持多媒体:不仅可传输HTML文档,还可以传输各种多媒体内容如图像、音频、视频

基于请求-响应模型:客户端发送请求给服务器,服务器响应给客户端

支持多种请求方法:包括GET、POST、PUT、DELETE

支持缓存

支持安全性:可通过TLS/SSL等安全协议来加密和身份验证

状态码:200(成功)、404(未找到)、500(服务器错误)

可扩展性:允许定义和扩展自定义信息,例如自定义请求头和响应头

请求数据格式:

分为三部分:请求行、请求头、请求体

请求行: HTTP请求中的第⼀⾏数据,请求⾏包含三块内容,分别是 POST [请求⽅式] / [请求URL路径] HTTP/1.1 [HTTP协议及版本]
请求方式有七种,最常⽤的是GET、POST (POST请求数据在请求体中,GET请求数据在请求行上)
请求头: 第二行开始,格式为key: value形式
响应数据格式:

响应行、响应头、响应体

响应行:响应数据的第⼀⾏,响应⾏包含三块内容,分别是 HTTP/1.1 [HTTP协议及版本] 200 [响应状态码] OK [状态码的描述]
响应头:第⼆⾏开始,格式为key:value形式

你可能感兴趣的:(java,开发语言)