1,Web概述
1.1 Web和JavaWeb的概念
Web是全球广域网,也称为万维网(www),能够通过浏览器访问的网站。
JavaWeb就是用Java技术来解决相关web互联网领域的技术栈
1.2 JavaWeb技术栈
1.1.1 B/S架构
B/S 架构:Browser/Server,浏览器/服务器 架构模式,它的特点是,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取Web资源,服务器把Web资源发送给浏览器即可。
1.2.2 静态资源
静态资源主要包含HTML、CSS、JavaScript、图片等,主要负责页面的展示。
我们之前已经学过前端网页制作HTML+CSS使用这些技术我们就可以制作出效果比较丰富的网页,将来展现给用户。但是由于做出来的这些内容都是静态的,这就会导致所有的人看到的内容将是一模一样。
1.2.3 动态资源
动态资源主要包含Servlet、JSP等,主要用来负责逻辑处理。
动态资源处理完逻辑后会把得到的结果交给静态资源来进行展示,动态资源和静态资源要结合一起使用。
1.2.4 数据库
数据库主要负责存储数据。
1.2.5 HTTP协议
HTTP协议:主要定义通信规则
浏览器发送请求给服务器,服务器响应数据给浏览器,这整个过程都需要遵守一定的规则,之前大家学习过TCP、UDP,这些都属于规则,这里我们需要使用的是HTTP协议,这也是一种规则。
1.2.6 Web服务器
Web服务器:负责解析 HTTP 协议,解析请求数据,并发送响应数据
浏览器按照HTTP协议发送请求和数据,后台就需要一个Web服务器软件来根据HTTP协议解析请求和数据,然后把处理结果再按照HTTP协议发送给浏览器
Web服务器软件有很多,我们课程中将学习的是目前最为常用的==Tomcat==服务器
2, HTTP
2.1 HTTP概念
HyperText Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间==数据传输的规则==。
数据传输的规则指的是请求数据和响应数据需要按照指定的格式进行传输。
HTTP协议特点
HTTP协议有它自己的一些特点,分别是:
基于TCP协议: 面向连接,安全
TCP是一种面向连接的(建立连接之前是需要经过三次握手)、可靠的、基于字节流的传输层通信协议,在数据传输方面更安全。
基于请求-响应模型的:一次请求对应一次响应
请求和响应是一一对应关系
HTTP协议是无状态协议:对于事物处理没有记忆能力。每次请求-响应都是独立的
无状态指的是客户端发送HTTP请求给服务端之后,服务端根据请求响应数据,响应完后,不会记录任何信息。这种特性有优点也有缺点,
缺点:多次请求间不能共享数据
优点:速度快
2.2 请求数据格式
2.2.1 格式介绍
请求数据总共分为三部分内容,分别是==请求行==、==请求头==、==请求体==
请求体和请求头之间是有一个空行隔开。此时浏览器发送的是POST请求,为什么不能使用GET呢?这时就需要回顾GET和POST两个请求之间的区别了:
GET请求请求参数在请求行中,没有请求体,POST请求请求参数在请求体中
GET请求请求参数大小有限制,POST没有
请求数据中包含三部分内容,分别是请求行、请求头和请求体
POST请求数据在请求体中,GET请求数据在请求行上
2.3 响应数据格式
2.3.1 格式介绍
响应数据总共分为三部分内容,分别是==响应行==、==响应头==、==响应体==
响应行:响应数据的第一行,响应行包含三块内容,分别是 HTTP/1.1[HTTP协议及版本] 200[响应状态码] ok[状态码的描述]
响应头:第二行开始,格式为key:value形式响应头中会包含若干个属性,常见的HTTP响应头有:
响应体: 最后一部分。存放响应数据
小结
响应数据中包含三部分内容,分别是响应行、响应头和响应体
掌握200,404,500这三个响应状态码所代表含义,分布是成功、所访问资源不存在和服务的错误