HTTP协议基本格式

news2024/9/22 13:41:45

HTTP协议基本格式

  • TCP/IP的分层管理
  • HTTP的基本格式

TCP/IP的分层管理

TCP/IP协议族里重要的一点就是分层。TCP/IP协议族按层次分别分为5层:
应用层、传输层、网络层、数据链路层、物理层。
TCP/IP层次化的好处。 如果互联网只由一个协议统筹,某个地方需要变更时,就必须把所有部分整体替换掉。而分层的好处就是只需要把要变更的层替换掉即可。把各层之间的接口部分规划好之后,每个层次内部的设计就能自由改动了。

应用层: 应用层决定了向用户提供应用服务时通信的活动。
传输层: 传输层对上层应用层,提供处于网络连接中的两台计算机之间数据传输。
在传输层有两个性质不同的协议:TCP和UDP协议。
网络层: 网络层用来处理在网络上流动的数据包。数据包是网络传输最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据传送给对方。与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起到的作用是在众多的选项中选择一条传输路线。
数据链路层: 用来连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card 网络适配器、即网卡),及光纤等物理可见部分。
物理层: 这其实就是硬件方面的传输,即控制物理传输。

在这里插入图片描述
发动端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息。反之,在接收端在层与层传输数据时,每经过一层时会把对应的首部消去。

HTTP的基本格式

下面我们使用一个抓包工具Fildler进行抓包来理解HTTP的基本格式,下面是使用Fildler抓取搜狗的包。
HTTP请求:
在这里插入图片描述

  • 首行:【请求方法】 + 【url】 + 【版本号】
  • Header : 请求的属性,冒号分隔的键值对;每组属性之间使用\n分隔,遇到空行表示Header部分结束
  • Body:空行后面的内容是Body。Body允许为空字符串,一般在Get请求常见,如果Body存在,则Header中就有一个Content-Length的属性来表示Body的长度。

HTTP响应:

在这里插入图片描述
由以上抓包结果我们可以知道HTTP有以下格式:

  • 首行:【版本号】 + 【状态码】 + 【状态码解释】
  • Header:请求的属性,冒号分隔的键值对;每组属性之间使用\n分隔,遇到空行表示Header部分结束
  • Body:空行后面的内容都是Body。Body允许为空字符串。如果Body存在,则在Header中会有一个Content-Length来表示Body的长度;如果服务器返回一个html页面,那么html页面内容就是在Body中。

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

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

相关文章

不动点定理的及其有趣应用

最近读高观点下的数学这本书,对书中介绍的布劳威尔不动点定理的有趣性质印象很深,原因是这个定理的某些性质能够解释我们生活中的一些常见现象,这里结合一个例题,聊以记录。 从一个数学题讲起: f(x)是定义在[0,1]上的…

IPB60R099CP-ASEMI代理英飞凌高压MOS管IPB60R099CP

编辑:ll IPB60R099CP-ASEMI代理英飞凌高压MOS管IPB60R099CP 型号:IPB60R099CP 品牌:英飞凌 封装:TO-263 最大漏源电流:31A 漏源击穿电压:600V RDS(ON)Max:99mΩ …

【MySQL】MySQL百万数据深度分页优化思路分析

文章目录 一、业务背景二、瓶颈再现三、问题分析回表覆盖索引IOLIMTI 2000,10 ? 四、问题总结五、解决方案优化前后性能对比 一、业务背景 一般在项目开发中会有很多的统计数据需要进行上报分析,一般在分析过后会在后台展示出来给运营和产品进行分页查看…

软考A计划-真题-分类精讲汇总-第十五章(数据库设计)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

如何做到乡村振兴?主要包括以下几点

乡村振兴是现代化发展的常记口号,也是中国整体经济发展的必备条件,乡村振兴是一个多元化的问题,其中包含人文、经济、文化、生态、人才等,那么如何做到乡村振兴呢? 主要包括以下几点: 1.合理利用土地资源…

SpringBoot配置文件敏感信息加密(四十六)

新的生活会开始,直到完成自己的目标. 一. 配置文件敏感信息加密 我们以前在编写 application.yml 文件时,服务器的ip, 数据库的配置,Redis的密码配置等都是明文,这是很不安全的。 我们可以通过 jasypt-spring-boot-starter 插件进…

Python学习26:个人所得税计算器

描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬ 2018年10月1日以前&#xff…

Java 性能调优全攻略:步骤、工具、技巧一网打尽

Java性能调优是一项非常重要的工作,它可以提高应用程序的性能和可伸缩性,并确保应用程序在高负载情况下仍然能够快速、稳定地运行。 1、Java性能调优步骤 Java性能调优的主要步骤包括: 确定目标:首先需要明确性能调优的目标&…

提高数据的安全性和可控性,数栈基于 Ranger 实现的 Spark SQL 权限控制实践之路

在企业级应用中,数据的安全性和隐私保护是极其重要的。Spark 作为数栈底层计算引擎之一,必须确保数据只能被授权的人员访问,避免出现数据泄露和滥用的情况。为了实现Spark SQL 对数据的精细化管理及提高数据的安全性和可控性,数栈…

多维时序 | MATLAB实现CNN-BiGRU卷积神经网络结合双向门控循环单元多变量时间序列预测

多维时序 | MATLAB实现CNN-BiGRU卷积神经网络结合双向门控循环单元多变量时间序列预测 目录 多维时序 | MATLAB实现CNN-BiGRU卷积神经网络结合双向门控循环单元多变量时间序列预测预测结果基本介绍模型特点程序设计学习总结参考资料 预测结果 基本介绍 多维时序 | MATLAB实现CN…

C++进阶——红黑树

C进阶——红黑树 概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过 对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩 倍&…

五分钟读完一本书 --《小王子》

所有的大人都曾经是小孩。 它是写给大人的童话。是一本用最简单纯净的文字,却将爱与羁绊描写得及其深刻的书。 看东西只有用心才能看得清楚,重要的东西用眼睛是看不见的。 这是踏遍7个星球之后 小王子才明白的道理。 小王子的B612星球小到只有一栋房子那…

小程序容器助力智能移动门户统一

智能移动统一门户遵循“统一规划,统一标准,统一建设,统一运维”的指导思想。它灵活运用前端展示平台,微服务后端平台,流程引擎,规则引擎,非结构化数据平台,即时通讯平台,…

Matlab论文插图绘制模板第92期—折线图(Plot)

之前有分享过Matlab折线图的绘制模板: 但随着技术力的提升,发现很多地方还有待改进,于是便有了本期内容。 先来看一下成品效果: 特别提示:本期内容『数据代码』已上传资源群中,加群的朋友请自行下载。有需…

电子企业应如何规划数字化工厂管理系统

随着科技的不断进步和市场竞争加剧,越来越多的电子企业开始意识到数字化工厂的重要性。数字化工厂管理系统是利用信息技术和自动化技术,对生产全过程进行数字化、智能化和自动化的工厂。它将生产过程中的各个环节进行有机整合,从而提高生产效…

解析DDR设计中容性负载补偿的作用

高速先生成员--孙小兵 我们先来了解一下容性负载和感性负载对链路阻抗的影响。仿真链路模型如下图所示。链路中有三段50Ω的理想传输线,第一段和第二段之间增加一个电容模拟容性负载,第二段和第三段之间增加一个电感模拟感性负载,链路末端是一…

MySQL数据库——MySQL字符集和校对规则详解

在讲解字符集和校对规则之前,我们先来简单了解一下字符、字符集和字符编码。 字符(Character)是计算机中字母、数字、符号的统称,一个字符可以是一个中文汉字、一个英文字母、一个阿拉伯数字、一个标点符号等。 计算机是以二进制…

HTML处理控件Aspose.Html 功能演示:将 URL 转换为 PDF

Aspose.Html for .NET 是一种高级的HTML操作API,可让您直接在.NET应用程序中执行广泛的HTML操作任务,Aspose.Html for .NET允许创建,加载,编辑或转换(X)HTML文档,而无需额外的软件或工具。API还…

如何通过SOLIDWORKS driveworksxpress初步实现参数化设计

当提到参数化设计,我们首先需要了解究竟什么是参数化设计,它是指从一个系统的角度,计划所有的设计过程,在整个系统中建立组件、次组件和子零件之间的关系,在最上层的部分建立设计意图,并将其往较下层的部分…

软件设计师 程序设计语言笔记

解释编译程序翻译阶段背诵 C 语义分析背诵 正规式题背诵 **星号表示闭包:出现0次或者多次 星号一般是就近原则,左边最近的第一个 星号你可以自定义数 1旁边没有闭包符号所以控制不到1所以这题选b 有限自动机 第一位和最后一位都必须是0 a这里的&…