javaweb学习day5--《HTML篇》Springboot的模块创建、HTML的相关知识点详解

news2024/9/9 4:11:15

一、前言

从今天开始,就要启动后端的学习了,Springboot会贯穿到底,一定要跟着小编严谨的去搭建Springboot环境,依赖添加的过程可能需要2分钟左右,读者们要耐心等待一下,搭建好Springboot之后才算正式的开始web后端的学习,http相关的内容仅供了解。

如果大家准备好的话那就一起开启我们的后端之旅。

二、springboot模块创建

第一步:右键单击->新建->模块

第二步:Springboot->按照顺序进行填写->下一步

注:jdk和java版本号保持一致

第三步:选择版本->勾选Spring Web->创建

三、http协议

3.1 HTTP 的特点和概述

无连接性

  • HTTP 协议是无连接的,即每次请求都是独立的,服务器处理完一个请求后会断开连接,下一个请求需要重新建立连接。这种特性使得每个请求都是独立的,不会保留状态信息,适合分布式的、基于请求-响应模型的网络环境。

无状态性

  • HTTP 协议是无状态的,即服务器不会保存每个客户端的请求信息。每次请求都是独立的,服务器处理完后即忘记。这要求客户端每次请求都要提供必要的信息,如 Cookie、Session ID 等,以维持状态。

简单和灵活

  • HTTP 协议简单直观,使用起来灵活。请求和响应都是文本形式,易于阅读和调试。它支持各种数据格式,如文本、图片、音频、视频等,使其成为广泛应用于互联网上的基础协议。

基于请求-响应模型

  • HTTP 是基于请求-响应模型的协议。客户端发送请求给服务器,请求中包含方法(如 GET、POST)、资源路径、协议版本等信息;服务器根据请求进行处理,并返回响应,响应中包含状态码、响应头和响应体等信息。

状态码和头部信息

  • HTTP 使用状态码来表示请求的处理结果,如200表示成功,404表示未找到资源,500表示服务器内部错误等。同时,HTTP 使用头部信息(Header)来传递额外的请求和响应信息,如内容类型、长度、Cookie等。

安全性和扩展性

  • HTTP 协议本身不具备加密功能,通信内容可以被窃听和篡改,为了提高安全性,可以在 HTTP 上加入 SSL/TLS 协议形成 HTTPS。HTTP 协议也支持通过扩展头部和方法来实现功能的扩展,如缓存控制、身份认证等。

3.2 请求协议

HTTP 请求协议是客户端向服务器发送请求时所遵循的规范和格式。它定义了请求的结构、方法、请求头部、请求体等内容。

请求行(Request Line):

请求行包含了请求的方法、资源路径和协议版本,格式如下:

METHOD PATH VERSION
  • METHOD:请求方法,例如 GET、POST、PUT、DELETE 等,用来指定请求的类型和操作方式。
  • PATH:请求的资源路径,即服务器上请求资源的位置。
  • VERSION:HTTP 协议的版本号,通常是 HTTP/1.1 或 HTTP/2。

示例:

GET /index.html HTTP/1.1

请求头部(Request Headers):

请求头部包含了关于请求的各种信息,如客户端信息、请求内容类型、认证信息等。每个头部字段都以键值对形式出现,格式如下:

HeaderName: Value

常见的请求头部包括:

  • Host:请求的主机名,指示服务器请求的目标。
  • User-Agent:发送请求的用户代理(浏览器、爬虫等)信息。
  • Content-Type:请求体的类型(仅在有请求体时使用)。
  • Authorization:认证信息,用于访问受保护的资源。

示例:

Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36

请求体(Request Body):

某些请求(如 POST、PUT)可能会包含数据或内容,这些数据在请求体中传输。请求体的格式和内容根据请求的方法和需要而有所不同,通常是文本、JSON 数据或二进制数据。

示例:

POST /submit-form HTTP/1.1
Host: www.example.com
Content-Type: application/json

{
  "username": "user123",
  "password": "pass123"
}

HTTP 请求的基本流程:

  1. 建立连接:客户端与服务器建立 TCP 连接。
  2. 发送请求:客户端向服务器发送格式正确的 HTTP 请求。
  3. 服务器处理:服务器接收、解析并处理请求。
  4. 发送响应:服务器生成并发送 HTTP 响应给客户端。

3.3 响应协议

HTTP 响应协议是服务器响应客户端请求时遵循的规范和格式,它定义了响应的结构、状态码、响应头部、响应体等内容。

状态行(Status Line):

状态行包含了响应的协议版本、状态码和状态消息,格式如下:

VERSION STATUS_CODE REASON_PHRASE

  • VERSION:HTTP 协议的版本号,通常是 HTTP/1.1 或 HTTP/2。
  • STATUS_CODE:三位数字的状态码,表示服务器对请求的处理结果。
  • REASON_PHRASE:对状态码的简短描述,方便人类阅读,但实际上并不影响机器处理。

HTTP/1.1 200 OK

响应头部(Response Headers):

响应头部包含了关于响应的各种信息,如服务器类型、响应内容类型、日期等。每个头部字段同样以键值对形式出现,格式如下:

HeaderName: Value

常见的响应头部包括:

  • Content-Type:响应体的类型。
  • Content-Length:响应体的长度。
  • Date:响应的日期和时间。
  • Server:服务器的软件信息。
  • Set-Cookie:设置客户端的 Cookie 信息。

示例:

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 1234
Date: Sat, 10 Jul 2024 12:00:00 GMT
Server: Apache/2.4.38 (Ubuntu)

响应体(Response Body):

响应体包含了服务器返回给客户端的实际内容,格式和内容根据响应的内容类型而有所不同,可以是文本、HTML、JSON 数据或二进制数据等。

示例:

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 1234

<!DOCTYPE html>
<html>
<head>
  <title>Welcome to Example.com</title>
</head>
<body>
  <h1>Hello, World!</h1>
  <p>This is a sample HTML response.</p>
</body>
</html>

HTTP 响应的基本流程:

  1. 接收请求:服务器接收客户端的 HTTP 请求。
  2. 处理请求:服务器处理请求,生成需要的数据和响应。
  3. 发送响应:服务器将响应的状态行、头部和体发送给客户端。

3.4 协议解析

 1. 请求方法(Request Methods)

HTTP 定义了几种请求方法,常见的包括:

  • GET:请求指定的资源。
  • POST:向指定资源提交数据进行处理请求(如提交表单或上传文件)。
  • PUT:上传指定的资源。
  • DELETE:删除指定的资源。
  • HEAD:获取报头信息,类似于 GET 请求,但服务器只返回报头,不返回实体的主体部分。
  • OPTIONS:列出可对资源实行的请求方法,用来查询服务器支持的方法。

2. 状态码(Status Codes)

HTTP 使用状态码来表示服务器对请求的处理结果,常见的状态码包括:

  • 2xx:成功。例如,200 表示请求成功。
  • 3xx:重定向。例如,301 表示永久重定向,302 表示临时重定向。
  • 4xx:客户端错误。例如,404 表示未找到请求的资源。
  • 5xx:服务器错误。例如,500 表示服务器内部错误。

3. 报文结构

HTTP 报文分为请求报文和响应报文:

  • 请求报文包括请求行、请求头部和请求体。
  • 响应报文包括状态行、响应头部和响应体。

4. 连接管理

HTTP/1.1 引入了持久连接(persistent connection)的概念,使得在同一个 TCP 连接上可以发送和接收多个 HTTP 请求和响应,减少了连接建立和关闭的开销,提高了性能。

URL(Uniform Resource Locator)

URL 是统一资源定位符,用来唯一标识互联网上的资源。HTTP 使用 URL 来指定请求的资源地址,包括协议类型(http:// 或 https://)、主机名、路径、查询参数等信息。

5. 安全性

HTTP 并不具备加密功能,因此传输的数据在传输过程中可能会被窃听或篡改。为了解决这个问题,HTTPS(HTTP Secure)应运而生,通过 SSL/TLS 加密协议来保证通信安全。

6. 版本演变

  • HTTP/0.9:最早的版本,只支持 GET 方法,没有头部信息,响应只包含 HTML 文档。
  • HTTP/1.0:引入了多种请求方法、状态码、头部字段等。
  • HTTP/1.1:支持持久连接、流水线处理、Host 头部字段等,广泛应用于现代 Web。
  • HTTP/2:引入了新的二进制格式,多路复用、头部压缩等,提升了性能。
  • HTTP/3:基于 UDP 实现,提供更快的传输速度和更好的性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1918102.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【深度学习入门篇 ②】Pytorch完成线性回归!

&#x1f34a;嗨&#xff0c;大家好&#xff0c;我是小森( &#xfe61;ˆoˆ&#xfe61; )&#xff01; 易编橙终身成长社群创始团队嘉宾&#xff0c;橙似锦计划领衔成员、阿里云专家博主、腾讯云内容共创官、CSDN人工智能领域优质创作者 。 易编橙&#xff1a;一个帮助编程小…

WEB攻防-通用漏洞SQL注入-ACCESS一般注入与偏移注入

ACCESS数据库 Access数据库是Microsoft Office套件中一款小型关系型数据库管理系统 单个数据库文件&#xff1a;Access数据库通常以一个单独的文件形式存在&#xff08;如.accdb或旧版本的.mdb文件&#xff09;&#xff0c;这个文件包含了数据库的所有对象&#xff0c;如表、字…

确保智慧校园安全,充分利用操作日志功能

智慧校园基础平台系统的操作日志功能是确保整个平台运行透明、安全及可追溯的核心组件。它自动且详尽地记录下系统内的每一次关键操作细节&#xff0c;涵盖操作的具体时间、执行操作的用户账号、涉及的数据对象&#xff08;例如学生信息更新、课程调度变动等&#xff09;、操作…

Windows 桌面改造小技巧 · 一键去除快捷方式小箭头和小盾牌

Windows的桌面上&#xff0c;总会有一些不如意的小地方&#xff0c;比如快捷方式上的小箭头和小盾牌图标&#xff1a; 标志挡住了应用图标&#xff0c;显得很难受 这些角标作用如下&#xff1a; 快捷方式角标是用来提示你这是一个快捷方式的&#xff0c;其实这个角标还好&…

充气膜游泳馆安全吗—轻空间

充气膜游泳馆&#xff0c;作为一种新型的游泳场馆&#xff0c;以其独特的结构和众多优点&#xff0c;逐渐受到各地体育设施建设者的青睐。然而&#xff0c;关于充气膜游泳馆的安全性&#xff0c;一些人仍然心存疑虑。那么&#xff0c;充气膜游泳馆到底安全吗&#xff1f;轻空间…

进程的状态和优先级

一.进程的退出 进程内核PCB数据和代码&#xff0c;它们都要占据内存空间&#xff0c;进程退出的核心工作之一就是释放掉自己的PCB数据和代码。 为什么要创建出进程呢&#xff1f;一定是我要进程完成某些任务&#xff01; 当进程退出了&#xff0c;不光光只是退出了这么简单&…

巢链接小程序正式上线!全面开启AI共创新时代

巢链接小程序正式上线&#xff01;全面开启AI共创新时代 &#x1f680; 今天我们官宣&#xff0c;巢链接小程序正式上线啦&#xff01;这是一款致力于打造连接开发者、创业者和运营者的全新平台&#xff0c;旨在通过共创和分享实现共同成长。快来了解巢链接小程序的诸多功能&a…

普中51单片机:定时器与计数器详解及应用(七)

文章目录 引言定时器工作原理TMOD定时器/计数器工作模式寄存器定时器工作模式模式0(13位定时器/计数器)模式1(16位定时器/计数器)模式2(8位自动重装模式)模式3(两个8位计数器) 定时器配置流程代码演示——LED1间隔1秒闪烁代码演示——按键1控制LED流水灯状态代码演示——LCD160…

抖音机构号授权矩阵系统源码:打造自媒体帝国的新利器

在自媒体风起云涌的时代&#xff0c;抖音作为短视频领域的佼佼者&#xff0c;早已成为内容创作者们争相入驻的热门平台。然而&#xff0c;随着竞争加剧&#xff0c;如何在这场流量大战中脱颖而出&#xff0c;成为每一位自媒体人不得不面对的课题。今天&#xff0c;我们将带您深…

JVM:类加载器

文章目录 一、什么是类加载器 一、什么是类加载器 类加载器&#xff08;ClassLoader&#xff09;是Java虚拟机提供给应用程序去实现获取类和接口字节码数据的技术。类加载器只参与加载过程总的字节码获取并加载到内存这一部分。

【JavaWeb程序设计】JavaBean(一)

目录 一、<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>的使用 1. 运行截图 2. UserBean.java 3. login.html 4. display.jsp 二、设计求三角形面积 1. 运行截图 2. 设计View&#xff08;inputTriangle.jsp&#xff09; 3. 设计Model&#…

AI发展到现在,国内大模型行业还有哪些机会?

随着各种AI工具的发展&#xff0c;AI领域的竞争格局正在悄然变化。GPT-4o被许多人误解为重大突破的更新&#xff0c;实际上主要是在多模态功能上的增强&#xff0c;而核心智能水平似乎仍停留在GPT-4阶段。这一现象为我们思考AI发展路径和国内大模型行业的机遇提供了新的视角。 …

运维Tips | Ubuntu 24.04 安装配置 xrdp 远程桌面服务

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ] Ubuntu 24.04 Desktop 安装配置 xrdp 远程桌面服务 描述:Xrdp是一个微软远程桌面协议(RDP)的开源实现,它允许我们通过图形界面控制远程系统。这里使用RDP而不是VNC作为远程桌面,是因为Windows自带的远程桌面连接软…

软件缺陷简介

缺陷种类 遗漏&#xff0c;指规定或预期的需求为体现在产品种错误&#xff0c;需求是明确的&#xff0c;在实现阶段未将需求的功能正确实现冗余&#xff0c;需求说明文档中未涉及的需求被实现了不满意&#xff0c;用户对产品的实现不满意也成为缺陷 缺陷等级划分 致命&#…

Qt QWebSocket网络编程

学习目标&#xff1a;Qt QWebSocket网络编程 学习前置环境 QT TCP多线程网络通信-CSDN博客 学习内容 WebSocket是一种通过单个TCP连接提供全双工通信信道的网络技术。2011年&#xff0c;IETF将WebSocket协议标准化为 RFC6455&#xff0c;QWebSocket可用于客户端应用程序和服…

金龙鱼:只是躺枪?

中储粮罐车运输油罐混用事件持续发酵&#xff0c;食用油板块集体躺枪。 消费者愤怒的火&#xff0c;怕是会让食用油企们一点就着。 今天&#xff0c;我们聊聊“油”茅——金龙鱼。 一边是业内人士指出&#xff0c;油罐混用的现象普遍存在&#xff0c;另一边是金龙鱼回应称&am…

Mac虚拟机跑Windows流畅吗 Mac虚拟机连不上网络怎么解决 mac虚拟机网速慢怎么解决

随着技术的发展&#xff0c;很多用户希望能在Mac电脑上运行Windows系统&#xff0c;从而能够使用那些仅支持Windows系统的软件。使用虚拟机软件可以轻松满足这一需求。但是&#xff0c;很多人可能会有疑问&#xff1a;“Mac虚拟机跑Windows流畅吗&#xff1f;”&#xff0c;而且…

3SRB5016-ASEMI逆变箱专用3SRB5016

编辑&#xff1a;ll 3SRB5016-ASEMI逆变箱专用3SRB5016 型号&#xff1a;3SRB5016 品牌&#xff1a;ASEMI 封装&#xff1a;SGBJ-5 批号&#xff1a;2024 现货&#xff1a;50000 最大重复峰值反向电压&#xff1a;1600V 最大正向平均整流电流(Vdss)&#xff1a;50A 功…

懂点技术就可以做,适合程序员的一种生意思路|在FlowUs记录成长 发布知识库

你们是否经常在闲暇时刷刷手机&#xff0c;看看视频&#xff0c;打发时间呢&#xff1f;其实&#xff0c;这些零散的时间完全可以被利用起来&#xff0c;成为你们财富增长的源泉。下面我将分享一种适合程序员的生意思路&#xff0c;让你们用技术的力量&#xff0c;将知识转化为…

星环科技推出语料开发工具TCS,重塑语料管理与应用新纪元

5月30-31日&#xff0c;2024向星力未来数据技术峰会期间&#xff0c;星环科技推出一款创新的语料开发工具——星环语料开发工具TCS&#xff08;Transwarp Corpus Studio&#xff09;&#xff0c;旨在通过全面的语料生命周期管理&#xff0c;极大提升语料开发效率&#xff0c;助…