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 服务器

相关推荐
TDengine (老段)几秒前
TDengine 集群容错与灾备
大数据·运维·数据库·oracle·时序数据库·tdengine·涛思数据
椰椰椰耶24 分钟前
[网页五子棋][匹配模块]实现胜负判定,处理玩家掉线
java·开发语言·spring boot·websocket·spring
Lao A(zhou liang)的菜园1 小时前
高效DBA的日常运维主题沙龙
运维·数据库·dba
K____End1 小时前
Spring 中的disposableBean介绍
java·spring·rpc
迪迦不喝可乐1 小时前
mysql知识点
数据库·mysql
愿你天黑有灯下雨有伞1 小时前
MyBatis-Plus LambdaQuery 高级用法:JSON 路径查询与条件拼接的全场景解析
mysql·json·mybatis
不太可爱的大白2 小时前
MySQL 事务的 ACID 四大特性及其实现原理
数据库·mysql
考虑考虑2 小时前
JPA自定义sql参数为空和postgresql遇到问题
spring boot·后端·spring
进击的CJR2 小时前
MySQL 8.0 OCP 英文题库解析(十)
mysql·adb·开闭原则
观测云3 小时前
HikariCP 可观测性最佳实践
数据库