当前位置: 首页 > 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://www.lryc.cn/news/528406.html

相关文章:

  • 【linux】Linux 常见目录特性、权限和功能
  • 创作三载·福启新章2025
  • RoboMaster- RDK X5能量机关实现案例(一)识别
  • Python帝王學集成-母稿
  • 安全漏洞扫描与修复系统的高质量技术详解
  • JavaScript反爬技术解析与应对
  • [NOIP2007]矩阵取数游戏
  • 在Linux系统上安装.NET
  • PCB Editor层叠文件(Gerber文件输出-01)
  • labelimg闪退的解决办法
  • 【开源免费】基于Vue和SpringBoot的在线文档管理系统(附论文)
  • 数据库管理-第287期 Oracle DB 23.7新特性一览(20250124)
  • Golang :用Redis构建高效灵活的应用程序
  • 四层网络模型
  • CUDA学习-内存访问
  • 进程通讯——类型和发展
  • 在 Windows 11 中为 SMB 3.x 文件共享协议提供 RDMA 支持
  • C 标准库 - `<errno.h>`
  • 2025年01月28日Github流行趋势
  • 7. 马科维茨资产组合模型+金融研报AI长文本智能体(Qwen-Long)增强方案(理论+Python实战)
  • Android 启动流程
  • 庆祝2025到来:C++编程的新篇章
  • 基于STM32的智能家用温控器设计
  • 扣子平台音频功能:让声音也能“智能”起来。扣子免费系列教程(14)
  • Dismissible组件的用法
  • C语言--数据在内存中的存储
  • CPP-存储区域
  • 9.中断系统、EXTI外部中断
  • 新增文章功能
  • 《HelloGitHub》第 106 期