HTTP详解——HTTP基础
HTTP 基本概念
HTTP 是超文本传输协议 (HyperText Transfer Protocol)
超文本传输协议(HyperText Transfer Protocol)
HTTP 是一个在计算机世界里专门在 两点 之间 传输 文字、图片、音视频等 超文本 数据的 约定和规范

1. 协议
约定和规范
2. 传输
两点之间传输(服务端——服务端,服务端——客户端),中间允许中转
3. 超文本
一种可以包含文本、图片、音频、视频等多种形式内容的文档,并通过超链接(Hyperlinks)与其他资源或文档相连接的非线性信息结构
- 非线性:
-
- 超文本允许用户在不同文档、内容之间跳转,而不是按照固定顺序阅读。
HTTP 消息结构
请求消息(Requset)

- 请求行
-
- 方法:如 GET、POST、PUT、DELETE 等,指定要执行的操作。
| 方法 | 描述 |
| GET | 从服务器获取资源。用于请求数据而不对数据进行更改。例如,从服务器获取网页、图片等。 |
| POST | 向服务器发送数据以创建新资源。常用于提交表单数据或上传文件。发送的数据包含在请求体中。 |
| HEAD | 类似于 GET,但服务器只返回响应的头部,不返回实际数据。用于检查资源的元数据(例如,检查资源是否存在,查看响应的头部信息)。 |
| PUT(HTTP/1.1) | 向服务器发送数据以更新现有资源。如果资源不存在,则创建新的资源。与 POST 不同,PUT 通常是幂等的,即多次执行相同的 PUT 请求不会产生不同的结果。 |
| DELETE(HTTP/1.1) | 从服务器删除指定的资源。请求中包含要删除的资源标识符。 |
| PATCH(HTTP/1.1) | 对资源进行部分修改。与 PUT 类似,但 PATCH 只更改部分数据而不是替换整个资源。 |
| OPTIONS(HTTP/1.1) | 返回服务器支持的 HTTP 方法。用于检查服务器支持哪些请求方法,通常用于跨域资源共享(CORS)的预检请求。 |
| TRACE(HTTP/1.1) | 回显服务器收到的请求,主要用于诊断。客户端可以查看请求在服务器中的处理路径。 |
| CONNECT(HTTP/1.1) | 建立一个到服务器的隧道,通常用于 HTTPS 连接。客户端可以通过该隧道发送加密的数据。 |
-
- 请求 URI(统一资源标识符):请求资源的路径,通常包括主机名、端口号、路径和查询字符
- HTTP 版本:如 HTTP/1.1 或 HTTP/2
- 示例:
GET /index.html HTTP/1.1
- 请求头(Headers)
-
- 键值对形式的元信息(描述请求、请求端的属性和参数)
- 示例:
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html
- 空行
-
- 分隔请求头和请求体
- 请求体(Body 可选)
-
- 请求端发送的数据(JSON,表单等)
- 示例:
{"username": "john","password": "secure123"
}
响应消息(Response)

- 状态行
-
- 协议版本:与请求消息一致
- 状态码:三位数,表示请求处理的结果
-
-
- 常见的状态码

- 常见的状态码
-
-
-
-
1xx类:提示信息,协议处理的中间操作。2xx类:服务器成功处理了客户端请求,成功码。
-
-
-
-
-
-
200 OK:最常见的成功状态码,非HEAD请求(类似GET请求,但只返回 HTTP 响应头,用于检查接收端资源的元信息)响应头带响应体数据。204 No Content:成功状态码,但没有响应体数据。206 Partial Content:HTTP 分块下载或断点续传,表示body数据并不是资源全部。
-
-
-
-
-
-
3xx类:该请求的资源发生了变动,需要用新的URL重新发送请求来获取资源,即重定向。
-
-
-
-
-
-
301 Moved Permanently:永久重定向,说明请求的资源已不存在。302 Found:临时重定向,资源还在,但暂时需要另一个URL来访问。304 Not Modified:不具有跳转含义,表示资源未修改,重定向已存在的缓存文件,即缓存重定向。
-
-
-
-
-
-
4xx类:请求错误码。
-
-
-
-
-
-
400 Bad Request:笼统错误。403 Forbidden:禁止访问资源,非请求错误。404 Not Found:请求资源未找到。
-
-
-
-
-
-
5xx类:请求正确,服务器内部处理出错,服务端错误码。
-
-
-
-
-
-
500 Internal Server Error:与400一样笼统错误。501 Not Implemented:该请求的功能还未支持、开发。502 Bad Gateway:网关或代理错误。503 Service Unavailable:服务繁忙。
-
-
-
-
- 状态描述:即状态码后面的描述信息。
- 响应头部(Headers)
-
- 键值对形式的元信息(描述响应体、服务端的属性和参数)
- 示例:
Content-Type: text/html
Content-Length: 137
- 空行:Headrs 与 Body 的分隔。
- 响应体(Body)可选
-
- 响应的实际内容数据(Html,Json,图片等)
- 示例:
<html><head><title>Example</title></head><body><h1>Hello, World!</h1></body>
</html>相关文章:
HTTP详解——HTTP基础
HTTP 基本概念 HTTP 是超文本传输协议 (HyperText Transfer Protocol) 超文本传输协议(HyperText Transfer Protocol) HTTP 是一个在计算机世界里专门在 两点 之间 传输 文字、图片、音视频等 超文本 数据的 约定和规范 1. 协议 约定和规范 2. 传输 两点之间传输…...
MySQL教程之:输入查询
如上一节所述,确保您已连接到服务器。这样做本身不会选择任何要使用的数据库,但没关系。在这一点上,了解一下如何发出查询比直接创建表、加载数据和从中检索数据更重要。本节介绍输入查询的基本原则,使用几个查询,您可…...
docker+ffmpeg+nginx+rtmp 拉取摄像机视频
1、构造程序容器镜像 app.py import subprocess import json import time import multiprocessing import socketdef check_rtmp_server(host, port, timeout5):try:with socket.create_connection((host, port), timeout):print(f"RTMP server at {host}:{port} is avai…...
不同音频振幅dBFS计算方法
1. 振幅的基本概念 振幅是描述音频信号强度的一个重要参数。它通常表示为信号的幅度值,幅度越大,声音听起来就越响。为了更好地理解和处理音频信号,通常会将振幅转换为分贝(dB)单位。分贝是一个对数单位,能…...
【17. 电话号码的字母组合 中等】
题目: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits “23”…...
数据结构初阶---排序
一、排序相关概念与运用 1.排序相关概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的…...
【从0-1实现一个前端脚手架】
目录 介绍为什么需要脚手架?一个脚手架应该具备哪些功能? 脚手架实现初始化项目相关依赖实现脚手架 发布 介绍 为什么需要脚手架? 脚手架本质就是一个工具,作用是能够让使用者专注于写代码,它可以让我们只用一个命令…...
AI文章管理系统(自动生成图文分发到分站)
最近帮一个网上的朋友做了一套AI文章生成系统。他的需求是这样: 1、做一个服务端转接百度文心一言的生成文章的API接口。 2、服务端能注册用户,用户在服务端注册充值后可以获取一个令牌,这个令牌填写到客户端,客户端就可以根据客…...
【Leetcode 每日一题】3270. 求出数字答案
问题背景 给你三个 正 整数 n u m 1 num_1 num1, n u m 2 num_2 num2 和 n u m 3 num_3 num3。 数字 n u m 1 num_1 num1, n u m 2 num_2 num2 和 n u m 3 num_3 num3 的数字答案 k e y key key 是一个四位数,定义如下&…...
基于单片机的无线气象仪系统设计(论文+源码)
1系统方案设计 如图2.1所示为无线气象仪系统设计框架。系统设计采用STM32单片机作为主控制器,结合DHT11温湿度传感器、光敏传感器、BMP180气压传感器、PR-3000-FS-N01风速传感器实现气象环境的温度、湿度、光照、气压、风速等环境数据的检测,并通过OLED1…...
【数据库】Mysql精简回顾复习
一、概念 数据库(DB):数据存储的仓库数据库管理系统(DBMS):操纵和管理数据库的大型软件SQL:操作关系型数据库的编程语言,是一套标准关系型数据库(RDBMS)&…...
深入理解 HTTP 的 GET、POST 方法与 Request 和 Response
HTTP 协议是构建 Web 应用的基石,GET 和 POST 是其中最常用的请求方法。无论是前端开发、后端开发,还是接口测试,对它们的深入理解都显得尤为重要。在本文中,我们将介绍 GET 和 POST 方法,以及 Request 和 Response 的…...
MySQL 中联合索引相比单索引性能提升在哪?
首先我们要清楚所以也是要占用磁盘空间的,随着表中数据量越来越多,索引的空间也是随之提升的,因而单表不建议定义过多的索引,所以使用联合索引可以在一定程度上可以减少索引的空间占用其次,使用联合索引的情况下&#…...
第34天:安全开发-JavaEE应用反射机制攻击链类对象成员变量方法构造方法
时间轴: Java反射相关类图解: 反射: 1、什么是 Java 反射 参考: https://xz.aliyun.com/t/9117 Java 提供了一套反射 API ,该 API 由 Class 类与 java.lang.reflect 类库组成。 该类库包含了 Field 、 Me…...
C++笔记之数据单位与C语言变量类型和范围
C++笔记之数据单位与C语言变量类型和范围 code review! 文章目录 C++笔记之数据单位与C语言变量类型和范围一、数据单位1. 数据单位表:按单位的递增顺序排列2. 关于换算关系的说明3. 一般用法及注意事项4. 扩展内容5. 理解和使用建议二、C 语言变量类型和范围基本数据类型标准…...
算法-拆分数位后四位数字的最小和
力扣题目2160. 拆分数位后四位数字的最小和 - 力扣(LeetCode) 给你一个四位 正 整数 num 。请你使用 num 中的 数位 ,将 num 拆成两个新的整数 new1 和 new2 。new1 和 new2 中可以有 前导 0 ,且 num 中 所有 数位都必须使用。 …...
Python 管理 GitHub Secrets 和 Workflows
在现代软件开发中,自动化配置管理变得越来越重要。本文将介绍如何使用 Python 脚本来管理 GitHub 仓库的 Secrets 和 Workflows,这对于需要频繁更新配置或管理多个仓库的团队来说尤为有用。我们将分三个部分进行讨论:设置 GitHub 权限、创建 GitHub Secret 和创建 GitHub Wo…...
指令的修饰符
指令的修饰符 参考文献: Vue的快速上手 Vue指令上 Vue指令下 Vue指令的综合案例 文章目录 指令的修饰符指令修饰符 结语 博客主页: He guolin-CSDN博客 关注我一起学习,一起进步,一起探索编程的无限可能吧!让我们一起努力&…...
C# 正则表达式完全指南
C# 正则表达式完全指南 C#通过 System.Text.RegularExpressions 命名空间提供强大的正则表达式支持。本指南将详细介绍C#中正则表达式的使用方法、性能优化和最佳实践。 1. 基础知识 1.1 命名空间导入 using System.Text.RegularExpressions;1.2 基本使用 public class Re…...
【笔记整理】记录参加骁龙AIPC开发者技术沙龙的笔记
AIoT 首先了解了一个概念叫AIoT,我的理解就是AI IoT 5G,通过AI的发展使得边缘计算、数据整合和处理变得快捷方便,不仅限于传统的云端数据处理,在边缘的IoT设备上也可以进行智能化打造,通过5G的通信能力扩展可以实现…...
ChatGPT_JCM前端构建工具对比:Webpack、Vite与Rollup
ChatGPT_JCM前端构建工具对比:Webpack、Vite与Rollup 【免费下载链接】ChatGPT_JCM 项目地址: https://gitcode.com/gh_mirrors/ch/ChatGPT_JCM ChatGPT_JCM是一个基于AI技术的前端项目,在开发过程中选择合适的构建工具对于提升开发效率和优化项…...
抖音批量下载助手:三步实现全自动视频采集
抖音批量下载助手:三步实现全自动视频采集 【免费下载链接】douyinhelper 抖音批量下载助手 项目地址: https://gitcode.com/gh_mirrors/do/douyinhelper 还在为手动保存抖音视频而烦恼吗?抖音批量下载助手为你提供了一套完整的自动化解决方案&am…...
避开STM32H743的坑:GPIO复用配置常见错误与排查指南(附引脚分配图详解)
避开STM32H743的坑:GPIO复用配置常见错误与排查指南 在STM32H743的开发过程中,GPIO复用配置往往是让开发者又爱又恨的部分。爱它是因为灵活多变的外设复用能力让这颗高性能MCU如虎添翼;恨它则是因为稍有不慎就会陷入各种配置冲突和功能异常的…...
CodeSys随机数生成实战:从GPS通信验证到实验作业的完整代码解析
CodeSys随机数生成实战:从GPS通信验证到实验作业的完整代码解析 在工业自动化领域,随机数生成看似是个小众需求,直到你遇到需要模拟设备故障、生成验证码或创建随机测试场景时才会发现它的重要性。CodeSys作为工业控制领域的"瑞士军刀&…...
Liquibase,数据库无关的版本控制工具!
在现代软件开发中,数据库的版本控制往往比代码版本控制更具挑战性。不同的开发环境、测试环境、生产环境可能使用不同的数据库产品(如开发用H2、测试用MySQL、生产用PostgreSQL),而传统的SQL脚本往往包含特定数据库的方言…...
开源证书工具故障排查:ACME协议证书续期问题从现象到本质的深度解析
开源证书工具故障排查:ACME协议证书续期问题从现象到本质的深度解析 【免费下载链接】win-acme Automate SSL/TLS certificates on Windows with ease 项目地址: https://gitcode.com/gh_mirrors/wi/win-acme 问题诊断:NginxCertbot环境下的证书续…...
腾讯 CodeBuddy 全形态解析:IDE、CLI 与插件如何重塑 AI 编程体验
1. CodeBuddy 三形态全景解析:从终端到桌面的AI编程革命 第一次用CodeBuddy的CLI工具时,我在终端里输入"帮我写个Python爬虫抓取天气数据",三秒钟后看着自动生成的完整代码,手里的咖啡差点洒在键盘上。这就是腾讯CodeB…...
Phi-4-Reasoning-Vision镜像使用指南:双卡负载均衡与CUDA内存优化技巧
Phi-4-Reasoning-Vision镜像使用指南:双卡负载均衡与CUDA内存优化技巧 1. 工具概述 Phi-4-Reasoning-Vision是基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具,专为双卡4090环境优化设计。这个工具能够充分发挥15B大模型的深度推…...
MoltenVK终极指南:动态库与静态库的完整选择方案
MoltenVK终极指南:动态库与静态库的完整选择方案 【免费下载链接】MoltenVK MoltenVK is a Vulkan Portability implementation. It layers a subset of the high-performance, industry-standard Vulkan graphics and compute API over Apples Metal graphics fram…...
避开SAP记账第一个坑:F-02凭证录入的5个细节与FS10N对账技巧
SAP财务实操避坑指南:F-02凭证录入的5个关键细节与FS10N高效对账技巧 刚接触SAP FI模块的中级用户,往往在完成基础培训后信心满满地开始独立操作,却在F-02凭证录入时频频踩坑。这些看似简单的字段选择背后,隐藏着财务逻辑与系统设…...
