1.Web概述
1.1 Web和JavaWeb的概念
Web是全球广域网,也称为万维网(www),能够通过浏览器访问的网站。
*在我们日常的生活中,经常会使用浏览器去访问百度、京东等这些网站,这些网站统称为Web网站。
JavaWeb就是用Java技术来解决相关web互联网领域的技术栈。
1.2B/S架构
B/S 架构:Browser/Server,浏览器/服务器 架构模式,它的特点是,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取Web资源,服务器把Web资源发送给浏览器即可。
1.3静态资源
静态资源主要包含HTML、CSS、JavaScript、图片等,主要负责页面的展示。
1.4动态资源
1.动态资源主要包含Servlet、JSP等,主要用来负责逻辑处理。
2.动态资源处理完逻辑后会把得到的结果交给静态资源来进行展示,动态资源和静态资源要结合一起使用。
1.5数据库
数据库只要负责存储数据
***整个Web的访问过程***
(1)浏览器发送一个请求到服务端,去请求所需要的相关资源;
(2)资源分为动态资源和静态资源,动态资源可以是使用Java代码按照Servlet和JSP的规范编写的内容;
(3)在Java代码可以进行业务处理也可以从数据库中读取数据;
(4)拿到数据后,把数据交给HTML页面进行展示,再结合CSS和JavaScript使展示效果更好;
(5)服务端将静态资源响应给浏览器;
(6)浏览器将这些资源进行解析;
(7)解析后将效果展示在浏览器,用户就可以看到最终的结果。
1.6HTTP协议
(1)HTTP协议:主要定义通信规则
(2)浏览器发送请求给服务器,服务器响应数据给浏览器,这整个过程都需要遵守一定的规则,之前大家学习过TCP、UDP,这些都属于规则,这里我们需要使用的是HTTP协议,这也是一种规则。
1.7Web服务器
(1)web服务器:负责解析 HTTP 协议,解析请求数据,并发送响应数据
(2)浏览器按照HTTP协议发送请求和数据,后台就需要一个Web服务器软件来根据HTTP协议解析请求和数据,然后把处理结果再按照HTTP协议发送给浏览器
(3)Web服务器软件有很多,我们课程中将学习的是目前最为常用的Tomcat服务器
2.HTTP
2.1 简介
HTTP概念:HyperText Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。
* 数据传输的规则指的是请求数据和响应数据需要按照指定的格式进行传输。
* 如果想知道具体的格式,可以打开浏览器,点击`F12`打开开发者工具,点击`Network`来查看某一次请求的请求数据和响应数据具体的格式内容。
HTTP协议特点:
* 基于TCP协议: TCP是一种面向连接的(建立连接之前是需要经过三次握手)、可靠的、基于字节流的传输层通信协议,在数据传输方面更安全。
* 基于请求-响应模型的:一次请求对应一次响应,请求和响应是一一对应关系
* HTTP协议是无状态协议:对于事物处理没有记忆能力。每次请求-响应都是独立的
2.2 请求数据格式
请求数据总共分为三部分内容,分别是请求行、请求头、请求体;
2.3 响应状态码
常见状态码:
* 200 ok 客户端请求成功
* 404 Not Found 请求资源不存在
* 500 Internal Server Error 服务端发生不可预期的错误