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

http的请求体各项解析

一、前言

       做Java开发的人员都知道,其实我们很多时候不单单在写Java程序。做的各种各样的系统,不管是PC的 还是移动端的,还是为别的系统提供接口。其实都离不开http协议或者https 这些东西。Java作为编程语言,再做业务开发时,已经不单单停留在Java上面了。通讯协议是Java对外提供服务的渠道。本节介绍一下http请求和响应里的各项属性的含义。所谓的htt协议,其实就是定义了一套参数,参数代表着一些约定的含义,这就是所谓协议

二、http请求体结构解析

http请求报文格式:请求行,请求头,请求体

请求行:包括四个部分 请求方法、请求地址、空行、协议版本、
http常用的几种请求方法:get、post、put、delete、option、head等等。
请求头:请求报文的一些附加信息。

1、请求头包含的信息

 

请求头的最后有一行空行表示请求头的结束,这一很重要,必不可少。这是判断请求头是否结束的条件。
请求体:英文(request body),post请求就是靠这个来传递参数,而get方法就没有这个请求体;
一个简单的post请求实例:

各行属性解析

 

http响应报文格式:

同样的,http响应报文也包括了四个部分:响应行、响应头、空行、响应体。
响应行:包括协议版本、状态码
响应头:响应报文的一些附加信息

 

响应体各属性解析

三、http通讯过程 

DNS解析
首先,客户端通过DNS解析域名得到服务器的IP地址。
建立连接
客户端与服务器通过三次握手建立连接。
发起请求
客户端发送HTTP请求报文给服务器。
服务器响应
服务器根据请求的端口号、路径等信息找到对应的资源文件,并将响应的源代码返回给客户端。
客户端处理
客户端接收到响应数据后,开始解析页面并请求其他资源。
渲染页面
客户端根据解析的数据渲染页面。
断开连接
服务器与客户端通过四次挥手断开连接。
三次握手与四次挥手
三次握手
概念:TCP协议在建立连接时的一种通信方式,用于确保通信双方的可靠性。
流程
客户端发送SYN包给服务器,请求建立连接。
服务器回复SYNACK包,表示同意建立连接。
客户端发送ACK包,确认建立连接。
四次挥手
概念:TCP协议在断开连接时的一种通信方式。
流程
客户端发送FIN包给服务器,表示没有数据要发送。
服务器回复ACK包,确认收到FIN包。
服务器发送FIN包给客户端,表示没有数据要发送。
客户端回复ACK包,确认收到FIN包,然后进入TIMEWAIT状态,等待一段时间后关闭连接。

通过这些步骤,HTTP协议确保了客户端与服务器之间的可靠通信。

 

相关文章:

http的请求体各项解析

一、前言 做Java开发的人员都知道,其实我们很多时候不单单在写Java程序。做的各种各样的系统,不管是PC的 还是移动端的,还是为别的系统提供接口。其实都离不开http协议或者https 这些东西。Java作为编程语言,再做业务开发时&#…...

【linux】Linux 常见目录特性、权限和功能

目录特性默认权限主要功能/用途/根目录,所有目录的起点755文件系统的顶层目录,包含所有其他子目录和文件/bin基础二进制命令目录(系统启动和修复必需的命令)755存放所有用户可用的基本命令(如 ls, cp, bash 等&#xf…...

创作三载·福启新章2025

写在前面:本博客仅作记录学习之用,部分图片来自网络,如需引用请注明出处,同时如有侵犯您的权益,请联系删除! 文章目录 前言机缘收获日常憧憬 总结 前言 在2022年01月26日,我踏上了技术创作的征…...

RoboMaster- RDK X5能量机关实现案例(一)识别

作者:SkyXZ CSDN:https://blog.csdn.net/xiongqi123123 博客园:https://www.cnblogs.com/SkyXZ 在RoboMaster的25赛季,我主要负责了能量机关的视觉方案开发,目前整体算法已经搭建完成,实际方案上我使用的上…...

Python帝王學集成-母稿

引用:【【全748集】这绝对是2024最全最细的Python全套教学视频,七天看完编程技术猛涨!别再走弯路了,从零基础小白到Python全栈这一套就够了!-哔哩哔哩】 https://b23.tv/lHPI3XV 语法基础 Python解释器与pycharm编辑器安装 - 定义:Python解释器负责将Python代码转换为计…...

安全漏洞扫描与修复系统的高质量技术详解

安全漏洞扫描与修复系统的高质量技术详解 在当今的数字化时代,网络安全已成为企业和个人不可忽视的重要议题。安全漏洞扫描与修复系统作为保障网络安全的关键环节,其重要性日益凸显。本文将深入探讨安全漏洞扫描与修复系统的原理、流程、工具选择以及实…...

JavaScript反爬技术解析与应对

JavaScript 反爬技术解析与应对 前言 在当今 Web 爬虫与数据抓取的生态环境中,网站运营方日益关注数据安全与隐私保护,因此逐步采用多种反爬技术来限制非授权访问。本文从 JavaScript 角度出发,深入剖析主流反爬策略的技术原理,…...

[NOIP2007]矩阵取数游戏

点我写题 题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数。游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个。m次后取完矩阵所有元素; 2.每次取走的…...

在Linux系统上安装.NET

测试系统:openKylin(开放麒麟) 1.确定系统和架构信息: 打开终端(Ctrl Alt T),输入cat /etc/os-release查看系统版本相关信息。 输入uname -m查看系统架构。确保你的系统和架构符合.NET 的要求,如果架构…...

PCB Editor层叠文件(Gerber文件输出-01)

先看底层和表层,如下图 钢网表层和底层,如下图 丝印表层和底层,如下图 阻焊表层和底层,如下图 下面来添加钻孔层,先提取钻孔表 点击OK后钻孔表会挂在鼠标上...

labelimg闪退的解决办法

其实就是你的python版本太高不稳定不支持labelimg 标记时出现闪退 问题原因:python版本过高 解决方案 第一步: 在python3.9以上的版本运行软件会闪退,这个时候我们需要创建一个3.9或者及以下的虚拟环境 conda cr…...

【开源免费】基于Vue和SpringBoot的在线文档管理系统(附论文)

本文项目编号 T 038 ,文末自助获取源码 \color{red}{T038,文末自助获取源码} T038,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…...

数据库管理-第287期 Oracle DB 23.7新特性一览(20250124)

数据库管理287期 20245-01-24 数据库管理-第287期 Oracle DB 23.7新特性一览(20250124)1 AI向量搜索:算术和聚合运算2 更改Compatible至23.6.0,以使用23.6或更高版本中的新AI向量搜索功能3 Cloud Developer包4 DBMS_DEVELOPER.GET…...

Golang :用Redis构建高效灵活的应用程序

在当前的应用程序开发中,高效的数据存储和检索的必要性已经变得至关重要。Redis是一个快速的、开源的、内存中的数据结构存储,为各种应用场景提供了可靠的解决方案。在这个完整的指南中,我们将学习什么是Redis,通过Docker Compose…...

四层网络模型

互联网由终端主机、链路和路由器组成,数据通过逐跳的方式,依次经过每条链路进行传输。 网络层的工作是将数据包从源端到目的端,跨越整个互联网。 网络层的数据包称为数据报。网络将数据报交给链路层,指示它通过第一条链路发送数据…...

CUDA学习-内存访问

一 访存合并 1.1 说明 本部分内容主要参考: 搞懂 CUDA Shared Memory 上的 bank conflicts 和向量化指令(LDS.128 / float4)的访存特点 - 知乎 1.2 share memory结构 图1.1 share memory结构 放在 shared memory 中的数据是以 4 bytes(即 32 bits)作为 1 个 word,依…...

进程通讯——类型和发展

进程常用交互方法如上...

在 Windows 11 中为 SMB 3.x 文件共享协议提供 RDMA 支持

注:机翻,未校。 Enable SMB Direct in Windows 11 在 Windows 11 中启用 SMB Direct Provides RDMA support for the SMB 3.x file sharing protocol 为 SMB 3.x 文件共享协议提供 RDMA 支持 Vigneshwaran Vijayakumar November 3, 2024 Last Updat…...

C 标准库 - `<errno.h>`

C 标准库 - <errno.h> 引言 在C语言编程中,正确处理错误是保证程序稳定性和可靠性的关键。C标准库中的<errno.h>头文件提供了错误码定义和宏,使得开发者能够更好地管理和处理程序运行过程中可能出现的错误。本文将详细介绍<errno.h>头文件的作用、常用错…...

2025年01月28日Github流行趋势

项目名称&#xff1a;maybe 项目地址url&#xff1a;https://github.com/maybe-finance/maybe项目语言&#xff1a;Ruby历史star数&#xff1a;37540今日star数&#xff1a;1004项目维护者&#xff1a;zachgoll, apps/dependabot, tmyracle, Shpigford, crnsh项目简介&#xff…...

RK3568开发板烧录避坑指南:Maskrom和Loader模式切换失败?手把手教你排查(附串口调试技巧)

RK3568开发板烧录模式切换全攻略&#xff1a;从原理到实战排查 刚拿到RK3568开发板的开发者们&#xff0c;往往会在第一个环节就遭遇"拦路虎"——开发板死活进不了Maskrom或Loader模式。看着官方文档里简单的按键操作说明&#xff0c;实际操作时却像在玩一场没有规则…...

从‘玩具项目’到‘线上产品’:我的Vue3项目在阿里云ECS上线的完整踩坑记录(含Nginx配置)

从本地开发到云端部署&#xff1a;Vue3项目实战全流程解析 第一次将自己的Vue项目部署到线上时&#xff0c;我盯着浏览器里那个404错误页面整整发呆了十分钟。作为一个刚完成基础学习的开发者&#xff0c;我原以为按照教程一步步操作就能顺利上线&#xff0c;但现实却给了我当头…...

金仓V9智能运维揭秘:如何用国产数据库实现分钟级部署与自动化备份

金仓V9智能运维实战&#xff1a;从分钟级部署到自动化备份的全流程解析 在数字化转型浪潮中&#xff0c;数据库作为企业核心基础设施&#xff0c;其运维效率直接影响业务连续性。金仓数据库V9全平台版凭借智能运维体系&#xff0c;正在重新定义国产数据库的管理标准。本文将深入…...

MidScene:让AI成为你的自动化协作者 副标题:无需编程的多平台智能操作解决方案

MidScene&#xff1a;让AI成为你的自动化协作者 副标题&#xff1a;无需编程的多平台智能操作解决方案 【免费下载链接】midscene Let AI be your browser operator. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 在数字化时代&#xff0c;重复性操作和…...

无GPU也能用:OpenClaw+Qwen3.5-4B-Claude-GGUF低配设备实测

无GPU也能用&#xff1a;OpenClawQwen3.5-4B-Claude-GGUF低配设备实测 1. 为什么要在低配设备上折腾AI&#xff1f; 去年我入手了一台二手MacBook Air&#xff0c;4GB内存的配置在当下看来确实有些捉襟见肘。但作为一名技术爱好者&#xff0c;我始终对本地运行大模型充满好奇…...

M2LOrder模型Mathtype公式编辑器的趣味扩展:为数学证明添加情感注释

M2LOrder模型Mathtype公式编辑器的趣味扩展&#xff1a;为数学证明添加情感注释 你有没有过这样的经历&#xff1f;面对一篇复杂的数学论文或教材&#xff0c;读到某个证明步骤时&#xff0c;心里忍不住嘀咕&#xff1a;“这一步也太巧妙了&#xff0c;怎么想到的&#xff1f;…...

惊艳!Qwen3-4B-Instruct-2507文本生成效果实测:看看AI能写出什么

惊艳&#xff01;Qwen3-4B-Instruct-2507文本生成效果实测&#xff1a;看看AI能写出什么 1. 开篇&#xff1a;认识这款强大的文本生成模型 Qwen3-4B-Instruct-2507是阿里开源的最新文本生成大模型&#xff0c;它在多个方面都有显著提升。简单来说&#xff0c;这个AI不仅能理解…...

有关数组的学习

数组的概念简介数组是编程中最基础也最常用的数据结构之一&#xff0c;理解它能帮你高效管理一组同类型的数据。1. 什么是数组&#xff1f;核心概念同类型&#xff1a;数组里的所有元素必须是相同的数据类型&#xff08;如全是 int 或全是 float&#xff09;。连续内存&#xf…...

【2.0 教程】第 7 章:仪表盘,一眼看全局

&#x1f389;NocoBase V2 系列教程已在官网-教程专栏发布&#xff0c;点击链接前往查看。 https://docs.nocobase.com/cn/tutorials/v2/ 已发布教程速览&#xff1a; NocoBase 2.0 入门教程 —— IT 工单系统 第一章&#xff1a;认识 NocoBase — 5 分钟跑起来 第二章&…...

避坑指南:解决多Livox雷达在ROS中TF树报错‘extrapolation into the past’的完整流程

避坑指南&#xff1a;解决多Livox雷达在ROS中TF树报错‘extrapolation into the past’的完整流程 当你在ROS系统中整合多个Livox雷达时&#xff0c;突然遭遇[WARN] Lookup would require extrapolation into the past的警告信息&#xff0c;Rviz中点云显示异常或TF树断裂&…...