当前位置: 首页 > news >正文

java-Spring-mvc-(请求和响应)

目录

 

📌HTTP协议

超文本传输协议

请求 Request

响应 Response

🎨请求方法

 GET请求

POST请求


📌HTTP协议

超文本传输协议

HTTP协议是浏览器与服务器通讯的应用层协议,规定了浏览器与服务器之间的交互规则以及交互数据的格式信息等。

用途 : 网页获取,数据的传输

特点

应用层协议,使用tcp进行数据传输;

有丰富的请求类型;

可以传输的数据类型众多.

访问页面流程

原图 

亿图图示https://www.edrawmax.cn/online/share.html?code=12a56234049e11ef94adf9ef8352e1d6

请求 Request

 HTTP请求 Request

浏览器给服务端发送的内容称为请求Request,一个请求包含三部分:请求行请求头请求体

请求行 : 具体的请求类别和请求内容

GET              /                        HTTP/1.1

请求类别      抽象路径            协议版本            

请求类别: 

请求类别
GET获取服务器资源
POST新增服务器资源
PUT更新服务器资源
DELETE删除服务器资源

关于抽象路径

默认路径

请求URL地址为:http://localhost:8080/

请求行为:GET /HTTP/1.1

其他路径(非默认路径)

请求URL地址为:http://localhost:8080/v1/users/login

请求行为:GET  /v1/users/login         HTTP/1.1

请求头:对请求的进一步解释和描述

请求头是浏览器可以给服务端发送的一些附加信息,有的用来说明浏览器自身内容,有的用来告知服务端交互细节,有的告知服务端消息正文详情等。

Host: localhost:8080
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9

 请求体: 请求参数或者提交内容

请求体通常是用户上传的信息,比如:在页面输入的注册信息,上传的附件等内容。

响应 Response

浏览器给服务端发送的内容称为请求Request,一个请求包含三部分:请求行,请求头,请求体

响应头

响应头与请求中的消息头格式一致,表示的是服务端发送给客户端的附加信息。

http://localhost:8080/v1/users/login?username=xxx&password=yyy

Url组成
协议(Protocol)指定访问资源的协议类型(HTTP,HTTPS 等)
主机名(Hostname)指定访问服务器的主机名或者域名
端口号(port)指定服务器器的端口号,不同协议和应用使用不同的端口号
路径(path)指定访问的资源路径 或文件或文件夹的路径
查询参数用于传递一些额外的信息给服务器

注意 :查询参数和路径Path之间使用 ?分隔,多个查询参数之间使用 & 分隔。

🎨请求方法

 GET请求

​ GET请求是HTTP协议中最常见的请求方式之一,它用于从服务器获取数据。

​ GET请求将查询参数附加在URL之后,通过“?”符号进行分隔。

查询参数

GET请求的参数通常以键值对的形式附加在URL之后


http://example.com/users?name=John&age=25

 以下URL中,“?name=John&age=25”是两个查询参数,分别表示名字和年龄

注意事项

GET请求的参数是可见的,因此在URL中传递敏感信息时需谨慎。

GET请求的长度有限制因为URL的长度有限制,因此当传递大量数据时,应考虑使用POST或其他方式。

POST请求

​ POST请求是另一种常见的HTTP请求方式,它用于向服务器提交数据。与GET请求不同,POST请求将数据放在请求体(Request Body)中,而不是URL中。

POST /users HTTP/1.1  
Host: example.com  
Content-Type: application/json  
Request Body: {"username": "john", "password": "secret"}

POST请求的注意事项

POST请求的数据是私密的,不会显示在URL中,因此更适合传递敏感信息。

POST请求的长度没有限制,可以提交大量的数据。

发送POST请求

经常在 form 表单中发送。

<form action="请求地址" method="post"><input type="text" name="username"><input type="text" name="password"><input type="submit" name="登录">
</form>

传递数据方式

客户端向服务端传递数据的方式分为GET请求和POST请求两种方式。

传递方式
GET请求在查询参数中传递
POST请求在请求体中传递

相关文章:

java-Spring-mvc-(请求和响应)

目录 &#x1f4cc;HTTP协议 超文本传输协议 请求 Request 响应 Response &#x1f3a8;请求方法 GET请求 POST请求 &#x1f4cc;HTTP协议 超文本传输协议 HTTP协议是浏览器与服务器通讯的应用层协议&#xff0c;规定了浏览器与服务器之间的交互规则以及交互数据的格式…...

亚马逊测评工作室如何轻松实现高收益,跨境电商揭秘汇率差赚钱术

随着跨境电商在国内市场的持续繁荣&#xff0c;众多电商卖家纷纷将目光投向了这一充满活力的领域。面对国内市场的激烈竞争&#xff0c;许多卖家选择向外拓展&#xff0c;寻求更广阔的发展空间。其中&#xff0c;亚马逊成为了众多卖家的不二选择&#xff0c;毕竟老外的市场还是…...

unity中 UnityWebRequest.Post和 UnityWebRequest uwr = new UnityWebRequest两种方法有什么区别

在Unity中&#xff0c;UnityWebRequest.Post 和 UnityWebRequest uwr new UnityWebRequest(...) 是两种不同的方式来创建和发送HTTP POST请求&#xff0c;但它们之间有一些关键的区别和用法上的差异。 1. UnityWebRequest.Post (静态方法) UnityWebRequest.Post 是一个静态方…...

Java学习-练习试用Java实现求素数

以下是使用Java语言试着编写的求1-100内的素数的程序&#xff1a; public class PrimeNumbers {public static void main(String[] args) {System.out.println("Prime numbers between 1 and 100 are:");for (int i 2; i < 100; i) {if (isPrime(i)) {System.ou…...

最近学习发现一个background-blend-mode,这是CSS的一个新成员吧!这里分享记录一下

介绍 background-blend-mode CSS 属性定义该元素的背景图片&#xff0c;以及背景色如何混合。 混合模式应该按background-image CSS 属性同样的顺序定义。如果混合模式数量与背景图像的数量不相等&#xff0c;它会被截取至相等的数量。在所有的元素中。在SVG&#xff0c;它适…...

虚幻引擎5 Gameplay框架(二)

Gameplay重要类及重要功能使用方法&#xff08;一&#xff09; 配置LOG类及PlayerController的网络机制 探索验证GamePlay重要函数、类的执行顺序与含义 我们定义自己的日志&#xff0c;专门建立一个存放自己日志的类&#xff0c;这个类继承自BlueprintFunctionLibrary 然后…...

云原生Kubernetes: K8S 1.29版本 部署Sonarqube

一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 主机架构版本IP备注masterK8S master节点1.29.0192.168.204.8 node1K8S node节点1.29.0192.168.204.9node2K8S node节点1.29.0192.168.204.10已部署Kuboard &#xff08;2&#xff09;master节点查看集群 1&…...

读天才与算法:人脑与AI的数学思维笔记19_深度数学

1. 深度数学 1.1. 组合与选择&#xff0c;是发明新事物的两个不可或缺的条件 1.1.1. 保尔瓦雷里&#xff08;Paul Valry&#xff09; 1.2. 利用以往的数学定理证明过程训练算法&#xff0c;以发现新的定理 1.3. 谷歌设在伦敦的总部整体有一种现代牛津大学的感觉&#xff0c…...

Springboot+Vue项目-基于Java+MySQL的旅游网站系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…...

Element UI 简介

Element UI是一个基于Vue.js的组件库&#xff0c;提供了一套丰富的可复用的组件&#xff0c;包括按钮、表单、弹框、表格、菜单等等。它的设计风格简洁大方&#xff0c;易于使用&#xff0c;能够帮助开发者快速构建现代化的Web应用。 在Element UI中&#xff0c;有许多常用的组…...

mysql 删除重复的数据保留id最大的一条

在 MySQL 中&#xff0c;可以使用以下查询删除重复数据&#xff0c;只保留 ID 最大的那条记录&#xff1a; SQL DELETE t FROM table_name t LEFT JOIN ( SELECT column_name, MAX(id) AS max_id FROM table_name GROUP BY column_name ) t2 ON t.column_name t2…...

UE4 Widget制作搜索框

效果&#xff1a; 一、控件层级结构 1.父控件层级结构 2.子控件层级结构 二、蓝图 1.先清除掉创建子项&#xff08;注意&#xff1a;这里使用的是reverse循环&#xff01;&#xff09; 2.判断是否含有关键字&#xff0c;创建子控件...

JavaScript js写九九乘法表(两种方法)

方法一&#xff1a; 观察规律&#xff1a; 第一个数每行都是自增1。 我们发下第二个数都是从1开始&#xff0c;依次递增1&#xff0c;永远不大于前面的数。 前面数字每自增一次&#xff0c;后面数字自增一轮。 我们可以用双重for循环&#xff0c;外层初始值设为i&#xff0…...

算法--贪心算法

贪心算法是一种在每一步选择中都采取在当前状态下最好或最优&#xff08;即最有利&#xff09;的选择&#xff0c;从而希望导致结果是全局最好或最优的算法。贪心算法在有最优子结构的问题中尤其有效&#xff0c;这意味着局部最优解能决定全局最优解。简单来说&#xff0c;贪心…...

Redis基本數據結構 ― String

Redis基本數據結構 ― String 介紹常用命令範例1. 為字串鍵設值/取得字串鍵的值2. 查看字串鍵的過期時間3. 如何為key設置時間?4. 如何刪除指定key?5. 如何增加value的值?6. 獲取value值的長度 介紹 字串鍵是Redis中最基本的鍵值對類型&#xff0c;這種類型的鍵值對會在數據…...

php7.4在foreach中对使用数据使用无法??[]判读,无法使用引用传递

代码如下图&#xff1a;这样子在foreach中是无法修改class_history的。正确的应该是去掉??[]判断。 public function actionY(){$array [name>aaa,class_history>[[class_name>一班,class_num>1],[class_name>二班,class_num>2]]];foreach ($array[class_…...

传输层协议 TCP UDP协议 解析(二)

文章目录 UDP&#xff1a;用户数据报协议UDP报文格式TCP与UDP的区别 UDP&#xff1a;用户数据报协议 UDP是一种面向无连接的传输层协议&#xff08;数据一直发送&#xff0c;没有ack&#xff0c;所以不需要考虑ack&#xff09;&#xff0c;传输可靠性没有保证。 UDP不提供重传…...

java+jsp+Oracle+Tomcat 记账管理系统论文(一)

⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ ➡️点击免费下载全套资料:源码、数据库、部署教程、论文、答辩ppt一条龙服务 ➡️有部署问题可私信联系 ⬆️⬆️⬆️​​​​​​​⬆️…...

echarts双Y轴,并实现图例等

一个Y轴时yAxis为对象 yAxis: {type: value,name: 占比(%) },两个Y轴时yAxis为数组 yAxis: [{ // 左侧的type: value,name: 占比(%),nameTextStyle: {padding: [0, 0, 10, -50]},min: 0,max: 100,splitNumber: this.splitNumber, // 设置坐标轴的分割段数interval: 20, // 标轴…...

STM32 工程移植 LVGL:一步一步完成

STM32 工程移植 LVGL&#xff1a;一步一步完成 LVGL&#xff0c;作为一款强大且灵活的开源图形库&#xff0c;专为嵌入式系统GUI设计而生&#xff0c;极大地简化了开发者在创建美观用户界面时的工作。作为一名初学者&#xff0c;小编正逐步深入探索LVGL的奥秘&#xff0c;并决…...

Linux中分析日志及问题排查

可以参考:Linux命令 Linux系统日志是系统管理和故障排查的关键工具。通过分析系统日志,我们能够深入了解系统的运行状况,迅速发现并解决潜在的问题。 1. 日志文件位置 系统日志通常存储在/var/log/目录下,不同的日志有不同的文件,如下: /var/log/syslog:系统日志,包含…...

复杂环境下实时鲁棒3D激光雷达定位

复杂环境下实时鲁棒3D激光雷达定位 一、摘要 定位是机器人领域的重要研究方向。本篇文章里&#xff0c;我们提出了一种基于3D激光雷达的复杂环境下的定位方案。我们首先使用GPS和雷达建立一张点云地图&#xff0c;然后在匹配定位的时候从大地图中分割出一个小地图&#xff0c…...

9.3.k8s的控制器资源(deployment部署控制器)

目录 一、deployment部署控制器概念 二、deployment资源的清单编写 三、小结 功能 使用场景 原理 四、deployment实现升级和回滚 1.编辑deployment资源清单&#xff08;v1版本&#xff09; 2.创建service资源用于访问 ​编辑 3.修改deploy清单中pod镜像版本为V2 4…...

通过符号程序搜索提升prompt工程

原文地址&#xff1a;supercharging-prompt-engineering-via-symbolic-program-search 通过自动探索​​大量提示变体来找到更好的提示 2024 年 4 月 22 日 众所周知&#xff0c;LLMs的成功在很大程度上仍然取决于我们用正确的指导和例子来提示他们的能力。随着新一代LLMs变得越…...

js开启子线程及其使用

众所周知&#xff0c;js是单线程&#xff0c;但是可以开启子线程来帮忙处理一些数据&#xff0c;但是这个子线程是有限制的 1.必须是同源 2.完全受主线程控制 3.不能在子线程中操作dom节点 4.子线程没有window&#xff0c;可以使用self 5.等等 具体的查看官网 进程切换是要耗时…...

excel办公系列-图表元素及其作用

Excel图表元素及其作用 Excel图表由各种元素组成&#xff0c;每个元素都有其特定的作用&#xff0c;可以帮助我们更清晰地传达数据信息。下面将介绍Excel图表中常见的一些元素及其作用&#xff0c;并附上相关截图。 原始数据 月份 网站访问量 (万次&#xff09; 销售额 (万…...

rocketmq dashboard控制台中topic状态无法展示

现象 在使用rocketmq控制台查看topic状态和订阅状态时&#xff0c;出现错误和没有信息的情况。 原因 rocketmq控制台版本问题&#xff0c;最新版本为1.0.1&#xff0c;支持rocketmq5版本&#xff0c;如果使用rocketmq4版本的服务无法兼容对应的数据。同理1.0.0版本也无法兼容ro…...

GPT每日面试题-Typescript中type和interface的区别

充分利用ChatGPT的优势&#xff0c;帮助我们快速准备前端面试。今日问题&#xff1a;typescript中type和interface的区别? Q&#xff1a;如果在前端面试中&#xff0c;被问到typescript的type和interface的区别是什么&#xff0c;怎么回答最好&#xff1f; A&#xff1a;当谈…...

python数据分析——大数据伦理风险分析

大数据伦理风险分析 前言一、大数据伦理二、大数据技术伦理风险2.1算法安全性、可信赖性及稳定性风险及其应对2.2算法的可解释性风险及其应对2.3算法的决策不可预见性风险及其应对2.4数据收集与储存中的泄漏风险及其应对2.5案例&#xff1a;某大型电商平台内部员工涉嫌窃取50亿…...

配置 Trunk,实现相同VLAN的跨交换机通信

1.实验环境 公司的员工人数已达到 100 人&#xff0c;其网络设备如图所示。现在的网络环境导致广播较多网速慢&#xff0c;并且也不安全。公司希望按照部门划分网络&#xff0c;并且能够保证一定的网络安全性。 其网络规划如下。 PC1和 PC3为财务部&#xff0c;属于VLAN 2&…...

如何做产品网站建设/深圳高端网站建设公司

一、简介 Windows下常用Ftp服务器软件&#xff1a; Serv-U、IIS、Filezilla&#xff1b;Linux下Ftp服务器软件&#xff1a;Vsftpd、Filezilla、wuftpd、proftpd 、pureftp Vsftp(Very Secure FTP)是一个基于GPL发布的类Unix系统上使用的FTP服务器软件&#xff0c;是一款小巧…...

专注徐州网站建设/seo含义

pdf.js使用教程pdf.js框架的魅力所在&#xff0c;为其为HTML5实现的&#xff0c;无需任何本地支持&#xff0c;而且对浏览器的兼容性也是比较好&#xff0c;要求只有一个&#xff1a;浏览器支持HTML5就好了&#xff01;(不过对于低版本的IE&#xff0c;就只能节哀了&#xff01…...

音乐分享 wordpress/seo优化搜索结果

第二题&#xff1a;Mirko的镇上有一条东西走向的长街&#xff0c;街上住了M户人。每一户的房子都有一个唯一的编号&#xff0c;从1到M。 一场暴风雨过后&#xff0c;这个小镇大部分的电话线都被弄断了。市长决定重建一个新的电话网络。Mirko对电话网的使用率很感兴趣&#xff…...

链家做网站和手机app花了多少钱/搜索引擎优化的主要内容

《linux命令行与shell脚本编程大全》全书4部分&#xff1a;☆ 【1】linux命令行(1-10章)☆ 【2】shell脚本编程基础(11-16章)上&#xff1a;构建与结构化脚本☆ 【3】高级shell脚本编程(17-23章)☆ 【4】创建实用的脚本(24-26章)>>第11章丶构建基本脚本 在创建shell脚本文…...

建设网站300多块钱/武汉网站营销seo方案

2019独角兽企业重金招聘Python工程师标准>>> 最近不小心执行了一下yum update 执行后&#xff0c;操作系统和内核版本都变了&#xff0c;这个不是我期望的。 执行前操作系统是centos6.6 执行后操作系统是centos6.9 所以&#xff0c;在执行yum update前&#xff0c;确…...

服装网站建设目的/推广普通话绘画

我们前面做了一个这样的页面&#xff0c;为了增加我们的学习难度&#xff0c;我们特意拆分成了不同的组件。 我们知道&#xff0c;我们在子组件里并不能直接对兄弟组件里的属性进行操作&#xff0c;我们通过this.$emit() 调用父组件的方法&#xff0c;通过this.$parent.$data.…...