SpringBoot 基础知识,HTTP 概述

1. 概述
1.1 Spring

Spring 提供若干个子项目,每个项目用于完成特定功能

Spring 的若干个子项目都基于一个基础的框架:Spring Framework

框架类似于房屋的地基

但 Spring Framework 配置繁琐入门难度大

1.2 Spring Boot

于是,后面推出 配置简便快速入门的 Spring Boot

SpringBoot 可以帮助我们快速的构建应用程序 简化开发 提高效率

**2.**SpringBootWeb 快速入门

需求:使用 SpringBoot 开发一个 Web 应用,浏览器发送 /hello 请求后,给浏览器返回字符串 " Hello World - "

创建 SpringBootWeb 项目分为三步骤

1.创建 SpringBoot 工程,填写模块信息,勾选 web 开发相关依赖

2.创建请求类,添加 请求处理方法,并添加注解

3.运行启动类,打开浏览器测试

2.1 创建 SpringBoot 项目
2.2 定义请求处理类
2.3 启动程序

启动程序需要运行 启动类的 main 方法

浏览器(推荐谷歌)输入网址

控制台返回执行程序的内容

若两处都能看到且内容相同,则项目运行成功!

3. HTTP 协议
3.1 概述

H yperT extT ransfer P rotocol :超文本传输协议,规定浏览器服务器 之间数据传输的规则

即 浏览器与服务器数据传输的规则

以下是简单了解 浏览器与服务器数据传输 的过程

3.2 特点

基于 TCP 协议:面向连接,安全

基于请求-响应模型:一次请求对应一次响应

HTTP 协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的

缺点:多次请求间不能共享数据

优点:速度快

3.3 请求协议

请求协议即 请求格式

由三部分组成:

请求

请求

请求

3.4 响应协议

响应协议 即响应格式

由三部分组成:

响应

响应

响应

响应行中常见状态码:

一般只需要掌握三个即可:

200:请求成功

404:请求资源不存在:URL 输入有误或者网站资源被删除

500:服务器发生不可预期的错误

重定向的解释:

常见响应头:

3.5 请求解析

根据 HTTP 请求格式解析请求数据和响应数据

解析 HTTP协议分为两部分:

客户端:各大厂商已经内置解析 HTTP协议 的程序

服务(器)端:通过 Java 程序接受客户端浏览器发起的请求并获取请求数据,参照 HTTP

的请求协议格式对其进行解析。再参照 HTTP 的响应数据格式对浏览器响应对应的格式。

浏览器获取到响应回来的数据利用内置的 HTTP协议 程序进行自动解析,从而完成请求和响应;

手动编写一个服务端程序并解析 HTTP 协议,需要考虑各种各样的情况,代码量在几万行。

所有的 WEB 项目开发都需要解析 HTTP 协议

而 HTTP 协议是标准的,统一的,固定的

解析 HTTP 协议的代码是通用的

所以很多公司都写好了这些代码,且封装到一个软件中

即 Web 服务器

4. Web 服务器

Web 服务器是一个软件程序

对 HTTP 协议的操作被封装在里面

主要 提供网上信息的浏览

tomcat 是当下最流行的 Web 服务

当然 tomcat 不需要单独部署,已经被内置到 SpringBoot 里面

5. Tomcat

Tomcat 是 Apache 软件基金会的一个核心项目

是一个开源免费的轻量级 Web 服务器

支持 Servlet / JSP 少量 JavaEE 规范

也被称为 Web 容器、Servlet 容器

Servlet 程序需要依赖 Tomcat 才能运行

基于SpringBoot 开发的 web 应用程序

内置了 tomcat 服务器

启动类运行时,会自动启动内嵌的 tomcat 服务器

相关推荐
互联网搬砖老肖19 分钟前
21 天 Python 计划:MySQL索引机制从基础到应用
python·mysql·adb
程序员三藏42 分钟前
Selenium三大等待
自动化测试·软件测试·数据库·python·selenium·测试工具·测试用例
闪电麦坤951 小时前
SQL:Constraint(约束)
数据库·sql
_沉浮_1 小时前
Spring AI使用tool Calling和MCP
java·人工智能·spring
观无1 小时前
.NET-EFCore基础知识
数据库·.net
^_^ 纵歌1 小时前
mongodb和clickhouse比较
数据库·clickhouse·mongodb
CopyLower1 小时前
Spring Boot 3.4.3 和 Spring Security 6.4.2 结合 JWT 实现用户登录
spring boot·后端·spring
旅行的橘子汽水2 小时前
【C语言-全局变量】
c语言·开发语言·数据库
pwzs2 小时前
缓存不只是加速器:深入理解 Redis 的底层机制
数据库·redis·缓存
A尘埃2 小时前
电商中的购物车(redis的hash类型操作)
数据库·redis·哈希算法