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

HTTP详解——HTTP基础

HTTP 基本概念

HTTP 是超文本传输协议 (HyperText Transfer Protocol)

超文本传输协议(HyperText Transfer Protocol)

HTTP 是一个在计算机世界里专门在 两点 之间 传输 文字、图片、音视频等 超文本 数据的 约定和规范

1. 协议

约定和规范

2. 传输

两点之间传输(服务端——服务端,服务端——客户端),中间允许中转

3. 超文本

一种可以包含文本、图片、音频、视频等多种形式内容的文档,并通过超链接(Hyperlinks)与其他资源或文档相连接的非线性信息结构

  • 非线性:
    • 超文本允许用户在不同文档、内容之间跳转,而不是按照固定顺序阅读。

HTTP 消息结构

请求消息(Requset)

  1. 请求行
    1. 方法:如 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 连接。客户端可以通过该隧道发送加密的数据。

    1. 请求 URI(统一资源标识符):请求资源的路径,通常包括主机名、端口号、路径和查询字符
    2. HTTP 版本:如 HTTP/1.1 或 HTTP/2
    3. 示例:GET /index.html HTTP/1.1
  1. 请求头(Headers)
    1. 键值对形式的元信息(描述请求、请求端的属性和参数)
    2. 示例:
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html
  1. 空行
    1. 分隔请求头和请求体
  1. 请求体(Body 可选)
    1. 请求端发送的数据(JSON,表单等)
    2. 示例:
{"username": "john","password": "secure123"
}

响应消息(Response)

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

        1. 1xx 类:提示信息,协议处理的中间操作。
        2. 2xx 类:服务器成功处理了客户端请求,成功码
          1. 200 OK:最常见的成功状态码,非 HEAD 请求(类似 GET请求,但只返回 HTTP 响应头,用于检查接收端资源的元信息)响应头带响应体数据。
          2. 204 No Content:成功状态码,但没有响应体数据。
          3. 206 Partial Content:HTTP 分块下载或断点续传,表示 body数据并不是资源全部。
        1. 3xx类:该请求的资源发生了变动,需要用新的 URL重新发送请求来获取资源,即重定向
          1. 301 Moved Permanently永久重定向,说明请求的资源已不存在。
          2. 302 Found临时重定向,资源还在,但暂时需要另一个 URL来访问。
          3. 304 Not Modified:不具有跳转含义,表示资源未修改,重定向已存在的缓存文件,即缓存重定向
        1. 4xx类:请求错误码
          1. 400 Bad Request笼统错误
          2. 403 Forbidden禁止访问资源,非请求错误。
          3. 404 Not Found请求资源未找到
        1. 5xx类:请求正确,服务器内部处理出错,服务端错误码
          1. 500 Internal Server Error:与 400一样笼统错误
          2. 501 Not Implemented:该请求的功能还未支持、开发
          3. 502 Bad Gateway网关或代理错误。
          4. 503 Service Unavailable服务繁忙
    1. 状态描述:即状态码后面的描述信息。
  1. 响应头部(Headers)
    1. 键值对形式的元信息(描述响应体、服务端的属性和参数)
    2. 示例:
Content-Type: text/html
Content-Length: 137
  1. 空行:Headrs 与 Body 的分隔。
  2. 响应体(Body)可选
    1. 响应的实际内容数据(Html,Json,图片等)
    2. 示例:
<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. 传输 两点之间传输&#xf…...

MySQL教程之:输入查询

如上一节所述&#xff0c;确保您已连接到服务器。这样做本身不会选择任何要使用的数据库&#xff0c;但没关系。在这一点上&#xff0c;了解一下如何发出查询比直接创建表、加载数据和从中检索数据更重要。本节介绍输入查询的基本原则&#xff0c;使用几个查询&#xff0c;您可…...

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. 振幅的基本概念 振幅是描述音频信号强度的一个重要参数。它通常表示为信号的幅度值&#xff0c;幅度越大&#xff0c;声音听起来就越响。为了更好地理解和处理音频信号&#xff0c;通常会将振幅转换为分贝&#xff08;dB&#xff09;单位。分贝是一个对数单位&#xff0c;能…...

【17. 电话号码的字母组合 中等】

题目&#xff1a; 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例 1&#xff1a; 输入&#xff1a;digits “23”…...

数据结构初阶---排序

一、排序相关概念与运用 1.排序相关概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性&#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的…...

【从0-1实现一个前端脚手架】

目录 介绍为什么需要脚手架&#xff1f;一个脚手架应该具备哪些功能&#xff1f; 脚手架实现初始化项目相关依赖实现脚手架 发布 介绍 为什么需要脚手架&#xff1f; 脚手架本质就是一个工具&#xff0c;作用是能够让使用者专注于写代码&#xff0c;它可以让我们只用一个命令…...

AI文章管理系统(自动生成图文分发到分站)

最近帮一个网上的朋友做了一套AI文章生成系统。他的需求是这样&#xff1a; 1、做一个服务端转接百度文心一言的生成文章的API接口。 2、服务端能注册用户&#xff0c;用户在服务端注册充值后可以获取一个令牌&#xff0c;这个令牌填写到客户端&#xff0c;客户端就可以根据客…...

【Leetcode 每日一题】3270. 求出数字答案

问题背景 给你三个 正 整数 n u m 1 num_1 num1​&#xff0c; n u m 2 num_2 num2​ 和 n u m 3 num_3 num3​。 数字 n u m 1 num_1 num1​&#xff0c; n u m 2 num_2 num2​ 和 n u m 3 num_3 num3​ 的数字答案 k e y key key 是一个四位数&#xff0c;定义如下&…...

基于单片机的无线气象仪系统设计(论文+源码)

1系统方案设计 如图2.1所示为无线气象仪系统设计框架。系统设计采用STM32单片机作为主控制器&#xff0c;结合DHT11温湿度传感器、光敏传感器、BMP180气压传感器、PR-3000-FS-N01风速传感器实现气象环境的温度、湿度、光照、气压、风速等环境数据的检测&#xff0c;并通过OLED1…...

【数据库】Mysql精简回顾复习

一、概念 数据库&#xff08;DB&#xff09;&#xff1a;数据存储的仓库数据库管理系统&#xff08;DBMS&#xff09;&#xff1a;操纵和管理数据库的大型软件SQL&#xff1a;操作关系型数据库的编程语言&#xff0c;是一套标准关系型数据库&#xff08;RDBMS&#xff09;&…...

深入理解 HTTP 的 GET、POST 方法与 Request 和 Response

HTTP 协议是构建 Web 应用的基石&#xff0c;GET 和 POST 是其中最常用的请求方法。无论是前端开发、后端开发&#xff0c;还是接口测试&#xff0c;对它们的深入理解都显得尤为重要。在本文中&#xff0c;我们将介绍 GET 和 POST 方法&#xff0c;以及 Request 和 Response 的…...

MySQL 中联合索引相比单索引性能提升在哪?

首先我们要清楚所以也是要占用磁盘空间的&#xff0c;随着表中数据量越来越多&#xff0c;索引的空间也是随之提升的&#xff0c;因而单表不建议定义过多的索引&#xff0c;所以使用联合索引可以在一定程度上可以减少索引的空间占用其次&#xff0c;使用联合索引的情况下&#…...

第34天:安全开发-JavaEE应用反射机制攻击链类对象成员变量方法构造方法

时间轴&#xff1a; Java反射相关类图解&#xff1a; 反射&#xff1a; 1、什么是 Java 反射 参考&#xff1a; https://xz.aliyun.com/t/9117 Java 提供了一套反射 API &#xff0c;该 API 由 Class 类与 java.lang.reflect 类库组成。 该类库包含了 Field 、 Me…...

C++笔记之数据单位与C语言变量类型和范围

C++笔记之数据单位与C语言变量类型和范围 code review! 文章目录 C++笔记之数据单位与C语言变量类型和范围一、数据单位1. 数据单位表:按单位的递增顺序排列2. 关于换算关系的说明3. 一般用法及注意事项4. 扩展内容5. 理解和使用建议二、C 语言变量类型和范围基本数据类型标准…...

算法-拆分数位后四位数字的最小和

力扣题目2160. 拆分数位后四位数字的最小和 - 力扣&#xff08;LeetCode&#xff09; 给你一个四位 正 整数 num 。请你使用 num 中的 数位 &#xff0c;将 num 拆成两个新的整数 new1 和 new2 。new1 和 new2 中可以有 前导 0 &#xff0c;且 num 中 所有 数位都必须使用。 …...

Python 管理 GitHub Secrets 和 Workflows

在现代软件开发中,自动化配置管理变得越来越重要。本文将介绍如何使用 Python 脚本来管理 GitHub 仓库的 Secrets 和 Workflows,这对于需要频繁更新配置或管理多个仓库的团队来说尤为有用。我们将分三个部分进行讨论:设置 GitHub 权限、创建 GitHub Secret 和创建 GitHub Wo…...

指令的修饰符

指令的修饰符 参考文献&#xff1a; Vue的快速上手 Vue指令上 Vue指令下 Vue指令的综合案例 文章目录 指令的修饰符指令修饰符 结语 博客主页: He guolin-CSDN博客 关注我一起学习&#xff0c;一起进步&#xff0c;一起探索编程的无限可能吧&#xff01;让我们一起努力&…...

C# 正则表达式完全指南

C# 正则表达式完全指南 C#通过 System.Text.RegularExpressions 命名空间提供强大的正则表达式支持。本指南将详细介绍C#中正则表达式的使用方法、性能优化和最佳实践。 1. 基础知识 1.1 命名空间导入 using System.Text.RegularExpressions;1.2 基本使用 public class Re…...

【笔记整理】记录参加骁龙AIPC开发者技术沙龙的笔记

AIoT 首先了解了一个概念叫AIoT&#xff0c;我的理解就是AI IoT 5G&#xff0c;通过AI的发展使得边缘计算、数据整合和处理变得快捷方便&#xff0c;不仅限于传统的云端数据处理&#xff0c;在边缘的IoT设备上也可以进行智能化打造&#xff0c;通过5G的通信能力扩展可以实现…...

论文解析 | 基于语言模型的自主代理调查

论文 《A Survey on Large Language Model-based Autonomous Agents》 对基于大型语言模型&#xff08;LLM&#xff09;的自主智能体&#xff08;Autonomous Agents&#xff09;进行了全面调查。随着大型语言模型&#xff08;如 GPT 系列、BERT、T5 等&#xff09;的快速发展&a…...

面试加分项:Android Framework AMS 全面概述和知识要点

第一章:AMS 的架构与组件 1.1 AMS 整体架构 在 Android 系统的庞大体系中,AMS(Activity Manager Service)就如同一个中枢神经系统,是整个系统的核心服务之一,对应用的性能和用户体验有着直接且关键的影响 。它的整体架构由 Client 端和 Service 端两大部分组成,这两端相…...

EasyCVR视频汇聚平台如何配置webrtc播放地址?

EasyCVR安防监控视频系统采用先进的网络传输技术&#xff0c;支持高清视频的接入和传输&#xff0c;能够满足大规模、高并发的远程监控需求。平台支持多协议接入&#xff0c;能将接入到视频流转码为多格式进行分发&#xff0c;包括RTMP、RTSP、HTTP-FLV、WebSocket-FLV、HLS、W…...

用户界面软件04

后果 使用这种架构很容易对两个层面的非功能性需求进行优化&#xff0c;但是你仍然需要小心不要将功能 需求重复实现。 现在&#xff0c;两个层面可能有完全不同的设计。比如&#xff0c;用户界面层可能使用配件模型&#xff08;Widget Model&#xff09;&#xff0c; 以大量的…...

C#,数值计算,矩阵相乘的斯特拉森(Strassen’s Matrix Multiplication)分治算法与源代码

Volker Strassen 1 矩阵乘法 矩阵乘法是机器学习中最基本的运算之一&#xff0c;对其进行优化是多种优化的关键。通常&#xff0c;将两个大小为N X N的矩阵相乘需要N^3次运算。从那以后&#xff0c;我们在更好、更聪明的矩阵乘法算法方面取得了长足的进步。沃尔克斯特拉森于1…...

linux:文件的创建/删除/复制/移动/查看/查找/权限/类型/压缩/打包

关于文件的关键词 创建 touch 删除 rm 复制 cp 权限 chmod 移动 mv 查看内容 cat(全部); head(前10行); tail(末尾10行); more,less 查找 find 压缩 gzip ; bzip 打包 tar 编辑 sed 创建文件 格式&#xff1a; touch 文件名 删除文件 复制文件 移动文件 查看文…...

SQL Server查询计划操作符——查询计划相关操作符(3)

7.3. 查询计划相关操作符 19)Collapse:该操作符对更改处理进行优化。当执行一个更改时,其能被劈成(用Split操作符)一个删除和一个插入。其参数列包含一个确定一系列键值字段的GROUP BY:()子句。如果查询处理器遇到删除和插入相同键值的毗邻行,其将用一个更高效的更改操作…...

【Notepad++】Notepad++如何删除包含某个字符串所在的行

Notepad如何删除包含某个字符串所在的行 一&#xff0c;简介二&#xff0c;操作方法三&#xff0c;总结 一&#xff0c;简介 在使用beyoundcompare软件进行对比的时候&#xff0c;常常会出现一些无关紧要的地方&#xff0c;且所在行的内容是变化的&#xff0c;不方便进行比较&…...

Android 来电白名单 只允许联系人呼入电话

客户需求只允许通讯录中联系人可以呼入电话。参考自带的黑名单实现 CallsManager.java类中的onSuccessfulIncomingCall方法有一些过滤器&#xff0c;可以仿照黑名单的方式添加自己的过滤器。 packages/services/Telecomm/src/com/android/server/telecom/CallsManager.java …...

【计算机网络】lab3 802.11 (无线网络帧)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;计算机网络_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2.…...

杭州竞彩网站开发/产品全网营销推广

微信小程序是一种不需要下载安装即可使用的应用&#xff0c;它实现了应用“触手可及”的梦想&#xff0c;微信用户只需要扫一扫或搜一下即可打开应用。那么如何开发微信小程序?接下来让我们看看搭建微信小程序的零基础玩法。小程序是依托微信诞生的&#xff0c;由于微信属于强…...

怎么自己制作个网站/水果店推广营销方案

文章目录MLpython稀疏矩阵的存储和表示CSR格式CSR格式&#x1f388;NNZCoordinate list (COO)Compressed sparse row (CSR, CRS or Yale format)&#x1f388;三个数组根据ROW_INDEX划分数组V或COL_INDEX数组名称demos in scipyegeg冗余分析Yale sparse matrixCSR编码效益分析&…...

融水县建设局网站/公司宣传软文

前端技术周刊 2018-06-09 前端快爆 生态更新 Git 发现一个关于 Submodule 的安全漏洞&#xff0c;将可能导致任意代码执行漏洞&#xff0c;将 Git 客户端升级到 2.17.1 即可避免这样的安全问题。? W3C 网络内容可访问性指南的 2.1 版本已经进入 W3C 的推荐状态&#xff0c;新版…...

wordpress日历插件下载/西安百度推广运营公司

2019独角兽企业重金招聘Python工程师标准>>> ifconfig&#xff08;interfaces config&#xff09;是用来查看和配置网络设备的&#xff0c;不仅可以获取网络接口配置信息&#xff0c;也可以修改这些配置。用ifconfig命令配置的网卡信息&#xff0c;在网卡重启后机器…...

北美购物网站排名/潍坊网站建设解决方案

可视化日志分析工具Gltail的安装与使用GlTail.rb 是一款带有浓郁的 Geek 风格的可视化日志分析工具&#xff0c;它采用 Ruby 技术构建&#xff0c;并利用 OpenGL 图形技术进行渲染&#xff0c;呈现可视化的日志分析数据&#xff0c;以气泡数量来反映网站的访问情况。本文讲述它…...

单页的网站怎么做的/线上广告推广

SOA到底是什么? SOA到底是什么? 当大家对 SOA开始有所了解后&#xff0c;往往有种雾里看花的感觉&#xff0c;看上去很美&#xff0c;可就很难摸透和落地。业界有些人把SOA说成是解决业务问题而不是技术问题&#xff0c;也有些人把 SOA看成是解决IT资产的复用和管理问题&…...