HTTP协议简单介绍

一、HTTP协议是什么

1、HTTP协议是以TCP协议为基础的文本协议。

2、HTTP协议采用请求和响应的模式。

3、HTTP协议可以传输二进制文件、文本文件、图片等资源。

4、HTTP协议支持表单上传,文件上传,文件下载等功能。


二、HTTP协议的格式

(一)请求格式

请求格式的报文由浏览器来发送。
分为请求头和请求体两部分,用回车符和空行隔开。

1、格式如下:

请求方法   空格   资源路径   空格   协议版本\r\n
请求字段集合
\r\n
可选的请求体

2、案例

GET /home.html HTTP/1.1\r\n
Accept: */* \r\n
Host: localhost:8080\r\n
User-Agent: Window-NT Chrome\r\n
\r\n

本案例没有使用请求体。

3、格式解释
请求方法:有Get、Put、Post、Delete常用方法,分别代表本次请求是查询、更新、获取、删除操作。

空格:就是ASCII西文字符码的空格符。

资源路径:指的是服务器项目中的文件路径,例如: /Home/one/h.html。

协议版本:表示浏览器支持的版本,例如HTTP/1.1, HTTP/1.0等等。

\r\n:这是回车符和换行符,用来分行。

请求字段集合:由很多的请求字段组成,每个字段用回车符和换行符结尾。

请求体:用来放置上传的字节内容,例如表单信息、文件信息。


(二)响应格式

响应格式的报文由服务器来发送。

分为响应头和响应体两部分,它们用回车符和空格隔开。

1、格式如下:

协议版本 空格  状态码  空格  状态描述信息 \r\n
响应头集合
\r\n
可选的响应体

2、响应案例

HTTP/1.1  200  ok\r\n
Content-Length: 12 \r\n
Content-Type: text/html \r\n
\r\n
<p>hello</p>

3、格式解释
协议版本:和请求体一样,代表服务器支持的版本。

状态码:用一个三位数字来表示本次请求的结果,可能成功,可能失败,可能请求不正确。由官方规定状态码的编号和含义。

状态描述信息:自定义的字符串,用户自定义,简单描述结果。

响应头集合:格式和请求头集合一样,只不过有些是服务器专用。

响应体:可选的,由实际的字节构成,可能是一个文件的所有字节。


三、请求头字段和响应头字段的格式

1、作用是描述格式信息。

2、格式如下:

字段名字: 字段值\r\n

字段名和字段值用英文冒号连接,每个字段用回车符和换行符结尾。

3、多个实体字段是连续放置。

例如:Content-Type: text/html\r\n
Content-Length: 29\r\n

四、获取更多信息

有关更多的HTTP协议信息,请查询RFC的官方网站。

RFC中有很多协议的格式说明书。

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

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

相关文章

SLG火并6月:多强鼎立,增量用户发展成行业新题

SLG赛道进入到6月&#xff0c;《三国&#xff1a;谋定天下》、《野兽领主&#xff1a;新世界》、《无尽冬日》大量新品袭来搅动市场。 在这样的关口&#xff0c;占据SLG半壁江山的灵犀互娱《三国志战略版》先一步刊登出战报&#xff0c;宣布1亿SLG玩家已收归麾下。 但新的挑战…

Linux时间子系统6:NTP原理和Linux NTP校时机制

一、前言 上篇介绍了时间同步的基本概念和常见的时间同步协议NTP、PTP&#xff0c;本篇将详细介绍NTP的原理以及NTP在Linux上如何实现校时。 二、NTP原理介绍 1. 什么是NTP 网络时间协议&#xff08;英语&#xff1a;Network Time Protocol&#xff0c;缩写&#xff1a;NTP&a…

COVINS-G编译注意事项

install_files.sh 修改source devel/setup.bash 为 source devel/setup.zsh cv_bridge 为了防止和本机的noetic的cv_bridge冲突&#xff0c;需要放入一个旧版本的cv_bridge。 先编译好opencv3_catkin&#xff0c;然后添加cv_bridge,也就是下载vision_opencv的melodic分支到cov…

华为数通企业面试笔试实验题

1. 笔试题 1.1 实验拓扑 1.2 实验要求 公司A为小型销售公司,需要实现基本上网功能,蓝色部分为外网线,提供DHCP服务 DnsServer:114.114.114.114 帮助网管排查某一台计算机在某一台交换机的某个端口 2. 操作步骤 配置路由器相关的LAN侧接口IP地址 配置DHCP项,要求有PC1与PC2…

Java StringBuffer 和 StringBuilder 类的比较与应用

Java 中的 StringBuffer 和 StringBuilder 类都用于处理字符串&#xff0c;但它们在性能和线程安全性方面有所不同。StringBuffer 是线程安全的&#xff0c;适合多线程环境下的字符串操作&#xff1b;而 StringBuilder 则是非线程安全的&#xff0c;提供了更高的性能。本文将从…

大模型KV Cache节省神器MLA学习笔记(包含推理时的矩阵吸收分析)

首先&#xff0c;本文回顾了MHA的计算方式以及KV Cache的原理&#xff0c;然后深入到了DeepSeek V2的MLA的原理介绍&#xff0c;同时对MLA节省的KV Cache比例做了详细的计算解读。接着&#xff0c;带着对原理的理解理清了HuggingFace MLA的全部实现&#xff0c;每行代码都去对应…

软件改为开机自启动

1.按键 win R,输入“shell:startup”命令, 然后就可以打开启动目录了&#xff0c;如下&#xff1a; 2.然后&#xff0c;把要开机启动的程序的图标拖进去即可。 参考&#xff1a;开机启动项如何设置

JAVA面试(六)

缓存 MemcachedredisRedis常见数据类型和使用Redis缓存持久化RDB-快照AOF-追加文件 Redis数据过期机制惰性删除定期删除 Redis缓存淘汰策略&#xff08;8种&#xff09;算法LRU &#xff08;Least Recently Used&#xff09;&#xff1a;最近最少使用LFU&#xff08;Least Freq…

java类型转换(强制类型转换)底层转换原理,此篇带你理解清楚

介绍 Java 中的类型强制转换&#xff08;Type Casting&#xff09;可以分为基本类型&#xff08;primitive types&#xff09;的强制转换和引用类型&#xff08;reference types&#xff09;的强制转换。它们在底层的原理和实现有所不同。以下是对这两种类型强制转换的详细解释…

ElasticSearch聚合排序

聚合排序 根据之前的博客可知,ES对于聚合结果的默认排序规则有时并非是我们希望的。可以使用ES提供的sort子句进行自定义排序,有多种排序方式可供选择: 按照聚合后的文档计数的大小进行排序按照聚合后的某个指标进行排序按照每个组的名称进行排序1.1 按文档计数排序 在聚合排…

day12--150. 逆波兰表达式求值+239. 滑动窗口最大值+ 347. 前 K 个高频元素

一、150. 逆波兰表达式求值 题目链接&#xff1a;https://leetcode.cn/problems/evaluate-reverse-polish-notation/description/ 文章讲解&#xff1a;https://programmercarl.com/0150.%E9%80%86%E6%B3%A2%E5%85%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%B1%82%E5%80%BC.html 视频…

R可视化:微生物相对丰度或富集热图可视化

欢迎大家关注全网生信学习者系列: WX公zhong号:生信学习者Xiao hong书:生信学习者知hu:生信学习者CDSN:生信学习者2介绍 热图(Heatmap)是一种数据可视化方法,它通过颜色的深浅或色调的变化来展示数据的分布和密度。在微生物学领域,热图常用于表示微生物在不同分组(如…

【leetcode刷题】面试经典150题 , 27. 移除元素

leetcode刷题 面试经典150 27. 移除元素 难度&#xff1a;简单 文章目录 一、题目内容二、自己实现代码2.1 方法一&#xff1a;直接硬找2.1.1 实现思路2.1.2 实现代码2.1.3 结果分析 2.2 方法二&#xff1a;排序整体删除再补充2.1.1 实现思路2.1.2 实现代码2.1.3 结果分析 三、…

除了等保2.0,还有哪些法规涉及云计算数据安全?

除了中国的等保2.0之外&#xff0c;全球范围内有多个法律法规涉及云计算数据安全&#xff0c;这些法规根据不同国家和地区的特点&#xff0c;对数据保护、隐私、跨境数据流动等方面提出了不同的要求。以下是一些主要的国际法规&#xff1a; 1. 欧盟通用数据保护条例 (GDPR)&am…

字符串专题详解

目录 字符串hash进阶 KMP算法 next数组 KMP算法 KMP算法优化 字符串hash进阶 字符串hash是指将一个字符串S映射为一个整数&#xff0c;使得该整数可以尽可能唯一地代表字符串S。那么在一定程度上&#xff0c;如果两个字符串转换成的整数相等&#xff0c;就可以认为这两个…

麻了,5年Java竟然不知道幂等......

在分布式系统中&#xff0c;接口幂等性是确保操作一致性的关键特性。 啥是幂等性 幂等性 指的是在给定的条件下&#xff0c;无论操作执行多少次&#xff0c;其结果都保持不变。在接口设计中&#xff0c;幂等性意味着使用相同的参数多次调用接口&#xff0c;应产生与单次调用相…

STM32学习笔记(五)--TIM输出比较PWM详解

&#xff08;1&#xff09;配置步骤1.配置RCC外设时钟 开启GPIO以及TIM外设2.配置时基单元的时钟 包含时钟源选择配置初始化时基单元3.配置输出比较单元 包含CCR的值 输出比较模式 极性选择 输出使能等4.配置GPIO口 初始化为复用式推挽输出的配置5.运行控制 启动计数器 输出PWM…

Windows CSC服务特权提升漏洞(CVE-2024-26229)

文章目录 前言声明一、漏洞描述二、漏洞成因三、影响版本四、漏洞复现五、CVE-2024-26229 BOF六、修复方案 前言 Windows CSC服务特权提升漏洞。 当程序向缓冲区写入的数据超出其处理能力时&#xff0c;就会发生基于堆的缓冲区溢出&#xff0c;从而导致多余的数据溢出到相邻的…

QT 的文件

QT 和C、linux 一样&#xff0c;也有自带的文件系统. 它的操作和C、c差不多&#xff0c;不过也需要我们来了解一下。 输入输出设备类 QObject 有一个子类&#xff0c;名为 QIODevice 类&#xff0c;如其名字&#xff0c;该类是管理所有输入输出设备的类。 比如文件、网络套…

北大oj Coins

Problem: 北大oj Coins 文章目录 思路解题方法复杂度Code 思路 题目要求我们找出所有可能组成的金额总数&#xff0c;给定一系列硬币面值和每种硬币的数量。我们使用动态规划来解决这个问题。关键在于如何处理每种硬币数量大于1的情况&#xff0c;这需要对余数进行分组&#xf…