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

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.kler.cn/a/518541.html

相关文章:

  • 【Qt 常用控件】显示类控件1(QLabel)
  • tensorflow,cuda,cudnn,pycharm安装踩坑过程记录
  • 什么时候用MPP,什么时候用TiDB?
  • PyTorch 模型 浅读
  • WPS按双字段拆分工作表到独立工作簿-Excel易用宝
  • 深度解读:Facebook 区块链技术架构与应用前景
  • 升级到Mac15.1后pod install报错
  • Java 大视界 -- Java 大数据中的知识图谱构建与应用(62)
  • 2.1.3 第一个工程,点灯!
  • one-hot (独热编码)
  • 开发基于WebRTC和OpenAI实时API的AI语音助手框架:技术解析与最佳实践
  • 后盾人JS -- Map与WeakMap类型在JavaScript中的使用
  • PHP场馆预定系统小程序
  • Linux系统:Ubuntu替换镜像源具体方法;
  • 基于 Jenkins 的测试报告获取与处理并写入 Jira Wiki 的技术总结
  • 全面了解 Web3 AIGC 和 AI Agent 的创新先锋 MelodAI
  • CentOS 7 搭建lsyncd实现文件实时同步 —— 筑梦之路
  • Excel-XLOOKUP-返回指定范围的数据
  • 【Matlab高端绘图SCI绘图全家桶更新版】在原60种绘图类型基础上更新
  • 年度总结和寒假总结