HTTP方法和状态码(Status Code)

news2025/5/14 16:01:00

HTTP方法

HTTP方法(也称HTTP动词)主要用于定义对资源的操作类型。根据HTTP/1.1规范(RFC 7231)以及后续扩展,常用的HTTP方法有以下几种:

  • GET:请求获取指定资源的表示形式。
  • POST:向指定资源提交数据,请求服务器处理(如创建资源)。
  • PUT:更新指定资源的内容,通常是整体替换。
  • DELETE:请求删除指定的资源。
  • HEAD:与GET类似,但只返回响应头,不返回主体内容。
  • OPTIONS:获取服务器支持的HTTP方法或其他选项。
  • PATCH:对资源进行部分修改。
  • TRACE:回显服务器收到的请求,用于测试或诊断(较少使用)。
  • CONNECT:用于建立到资源的隧道,通常用于代理(如HTTPS)。

说明:
以上9种方法是最常见的,涵盖了RESTful API和Web开发中的主要操作。
实际使用中,GET、POST、PUT、DELETE、PATCH最为频繁。
某些方法(如TRACE、CONNECT)因安全或特定场景限制,使用较少。
HTTP规范允许扩展方法,但非标准方法(如WebDAV的PROPFIND、MKCOL)不常见。

HTTP状态码

HTTP状态码(Status Code)是服务器对客户端请求的响应状态,分为五类,一共约60种标准状态码。

1xx - 信息性状态码(Informational)

  • 表示请求已经被接收,处理仍然在继续,客户端需等待进一步响应
    • 100 Continue:客户端应继续发送请求的剩余部份。
    • 101 Switching Protocols:服务器根据客户端请求切换协议(如HTTP到WebSocket)
    • 102 Processing:服务器正在处理请求,但尚未完成(较少见)

2xx - 成功状态码(Success)

  • 表示请求已经成功被服务器接收、理解并处理
    • 200 OK:请求成功,响应包含请求的数据
    • 201 Created:请求成功并创建了新资源(如POST请求)
    • 202 Accepted:请求已接收但尚未处理完成(常用于异步处理)
    • 204 No Content:请求成功,但无内容返回(如DELETE请求)
    • 206 Partial Content:服务器成功返回部份内容(常用于范围请求,如视频分片)

3xx - 重定向状态码(Redirection)

  • 表示客户端需采取进一步操作(如重定向)以完成请求
    • 300 Multiple Choices:资源有多种表示形式,客户端需选择
    • 301 Moved Permanently:资源永久移动到新URL
    • 302 Found:资源临时移动到新URL(早期称为:Moved Temporarily)
    • 303 See Other:建议客户端使用GET请求访问另一个URL
    • 304 Not Modified:资源未更改,客户端可使用缓存(常用于条件请求)
    • 307 Temporary Redirect:临时重定向,客户端应保留原请求方法
    • 308 Permanent Redirect:永久重定向,客户端应保留原请求方法

4xx - 客户端错误状态码(Client Error)

  • 表示客户端请求有误,服务器无法处理
    • 400 Bad Request:请求语法错误或参数无效
    • 401 Unauthorized:请求需身份验证(未提供或无效的认证信息)
    • 403 Forbidden:客户端无权限访问资源
    • 404 Not Found:服务器未找到请求的资源
    • 405 Method Not Allowed:请求方法(如POST)不被服务器允许
    • 408 Request Timeout:客户端请求超时
    • 409 Conflict:请求与服务器资源状态冲突(如尝试创建已存在的资源)
    • 410 Gone:资源已被永久删除且无转发地址
    • 429 Too Many Requests:客户端在限定时间内发送了过多请求(限流)

5xx - 服务器错误状态码(Server Error)

  • 表示服务器在处理请求时发生错误
    • 500 Internal Server Error:服务器遇到未知错误,无法完成请求
    • 501 Not Implemented:服务器不支持请求的功能(如不支持的请求方法)
    • 502 Bad Gateway:作为网关或代理的服务器从上游服务器收到无效响应
    • 503 Service Unavailable:服务器暂时不可用(如维护或过载)
    • 504 Gateway Timeout:网关或代理服务器未及时从上游服务器收到响应
    • 505 HTTP Version Not Supported:服务器不支持请求的HTTP协议版本

其他

  • 总数:约60种标准状态码(由HTTP/1.1、HTTP/2及扩展定义),实际使用中常见约20-30种
  • 扩展状态码:某些服务器或框架可能定义非标准状态码(如Cloudflare的520、522),但不属于官方规范

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

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

相关文章

机器学习中分类模型的常用评价指标

评价指标是针对模型性能优劣的一个定量指标。 一种评价指标只能反映模型一部分性能,如果选择的评价指标不合理,那么可能会得出错误的结论,故而应该针对具体的数据、模型选取不同的的评价指标。 本文将详细介绍机器学习分类任务的常用评价指…

MySQL的Docker版本,部署在ubantu系统

前言 MySQL的Docker版本,部署在ubantu系统,出现问题: 1.执行一个SQL,只有错误编码,没有错误提示信息,主要影响排查SQL运行问题; 2.这个问题,并不影响实际的MySQL运行,如…

Mac QT水平布局和垂直布局

首先上代码 #include "mainwindow.h" #include "ui_mainwindow.h" #include <QPushButton> #include<QVBoxLayout>//垂直布局 #include<QHBoxLayout>//水平布局头文件 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), …

回答 | 图形数据库neo4j社区版可以应用小型企业嘛?

刚在知乎上看到了一个提问&#xff0c;挺有意思&#xff0c;于是乎&#xff0c;贴到这里再简聊一二。 转自知乎提问 当然可以&#xff0c;不过成本问题不容小觑。另外还有性能上的考量。 就在最近&#xff0c;米国国家航空航天局——NASA因为人力成本问题&#xff0c;摒弃了使…

Linux操作系统从入门到实战(二)手把手教你安装VMware17pro与CentOS 9 stream,实现Vim配置,并配置C++环境

Linux操作系统从入门到实战&#xff08;二&#xff09;手把手教你安装VMware17pro与CentOS 9.0 stream&#xff0c;实现Vim配置&#xff0c;并编译C文件 前言一、安装VMware17pro二、安装CentOS9.02.1 为什么选择CentOS9&#xff0c;与CentOS7对比2.1 官网下载CentOS9.02.2 国内…

软考架构师考试-UML图总结

考点 选择题 2-4分 案例分析0~1题和面向对象结合考察&#xff0c;前几年固定一题。近3次考试没有出现。但还是有可能考。 UML图概述 1.用例图&#xff1a;描述系统功能需求和用户&#xff08;参与者&#xff09;与系统之间的交互关系&#xff0c;聚焦于“做什么”。 2.类图&…

论文学习_Trex: Learning Execution Semantics from Micro-Traces for Binary Similarity

摘要&#xff1a;检测语义相似的函数在漏洞发现、恶意软件分析及取证等安全领域至关重要&#xff0c;但该任务面临实现差异大、跨架构、多编译优化及混淆等挑战。现有方法多依赖语法特征&#xff0c;难以捕捉函数的执行语义。对此&#xff0c;TREX 提出了一种基于迁移学习的框架…

在VirtualBox中安装虚拟机后不能全屏显示的问题及解决办法

在VirtualBox中安装Windows或Linux虚拟机后&#xff0c;将遇到启动虚拟机后&#xff0c;只能在屏幕中的一块区域里显示虚拟机桌面&#xff0c;却不能全屏显示的问题。要解决此问题&#xff0c;需要在虚拟机中安装与VirtualBox版本相对应的VBox GuestAdditons软件。 这里…

element-ui分页的使用及修改样式

1.安装 npm install element-ui -S 2.在main.js中引入,这里是全部引入&#xff0c;也可以按需引入 import ElementUI from element-ui import element-ui/lib/theme-chalk/index.css Vue.use(ElementUI) 3.使用 layout"prev, pager, next, jumper" &#xff1a;jumpe…

从数据中台到数据飞轮:数字化转型的演进之路

从数据中台到数据飞轮&#xff1a;数字化转型的演进之路 数据中台 数据中台是企业为整合内部和外部数据资源而构建的中介层&#xff0c;实现数据的统一管理、共享和高效利用&#xff0c;目标是打破信息孤岛&#xff0c;提高数据使用效率&#xff0c;支持业务决策和创新 实施成本…

2025年5月-信息系统项目管理师高级-软考高项一般计算题

决策树和期望货币值 加权算法 自制和外购分析 沟通渠道 三点估算PERT 当其他条件一样时&#xff0c;npv越大越好

zst-2001 上午题-历年真题 算法(5个内容)

回溯 算法 - 第1题 找合适的位置&#xff0c;如果没有位置就按B回家 d 分治 算法 - 第2题 b 算法 - 第3题 a 算法 - 第4题 划分一般就是分治 a 算法 - 第5题 分治 a 0-1背包 算法 - 第6题 c 算法 - 第7题 最小的为c 3100 c 算法 - 第8题 …

udp多点通信和心跳包

刷题 # UDP多点通信核心要点## 基础通信模式### 单播通信- 一对一通信方式- UDP默认通信模式- 地址指向具体目标主机### 广播通信- 一对多通信机制- 地址范围&#xff1a;xxx.xxx.xxx.255- 仅限局域网传输- 需设置SO_BROADCAST标志### 组播通信- 多对多群组通信- 地址范围&…

音视频学习:使用NDK编译FFmpeg动态库

1. 环境 1.1 基础配置 NDK 22b (r22b)FFmpeg 4.4Ubuntu 22.04 1.2 下载ffmpeg 官网提供了 .tar.xz 包&#xff0c;可以直接下载解压&#xff1a; wget https://ffmpeg.org/releases/ffmpeg-4.4.tar.xz tar -xvf ffmpeg-4.4.tar.xz cd ffmpeg-4.41.3 安装基础工具链 sudo …

如何使用 Qwen3 实现 Agentic RAG?

今天&#xff0c;我们将学习如何部署由阿里巴巴最新Qwen 3驱动的Agentic RAG。 这里是我们的工具栈&#xff1a; CrewAI用于代理编排。 Firecrawl用于网络搜索。 LightningAI的LitServe用于部署。 顶部的视频展示了这一过程。 图表显示了我们的Agentic RAG流程&#xff1…

相机、雷达标定工具,以及雷达自动标定的思路

本篇我们来看一下自动驾驶传感器配置一个非常重要的模块&#xff0c;也就是传感器的标定。这里主要是对我之前修改的功能包的使用进行一个介绍. 对应的资源也已经上传了&#xff0c;0积分下载 安装 首先整个项目是使用ros1来进行启动的,但是要想正常编译,需要先安装三个对应的…

vsomeip环境搭建保姆级教程

vsomeip环境搭建保姆级教程 ubuntu环境搭建 {% links %} site: VMware搭建ubuntu保姆级教程 url: https://zhuanlan.zhihu.com/p/1903219373906327339 desc: flechazo image: https://q1.qlogo.cn/g?b=qq&nk=2861099&s=5 color: “#9d5b8b” {% endlinks %} vsomei…

我的MCP相关配置记录

1.VSCode的Cline中的MCP {"mcpServers": {"github.com/modelcontextprotocol/servers/tree/main/src/github": {"autoApprove": [],"disabled": false,"timeout": 60,"command": "cmd","args&quo…

我们来学nacos -- 集群nacos2.5.1mysql8.4

2.5.1集群搭建 架构下载解压到3个文件夹初始化数据库&数据迁移检查端口可用配置cluster.confapplication.properties 使用mysql8.4的jar启动db.num is null报错datasource错误成功 nginx反向代理集群查看 架构 其中包含3个nacos节点&#xff0c;然后一个负载均衡器代理3个…

Rollup入门与进阶:为现代Web应用构建超小的打包文件

我们常常面临Webpack复杂配置或是Babel转译后的冗余代码&#xff0c;结果导致最终的包体积居高不下加载速度也变得异常缓慢&#xff0c;而在众多打包工具中Rollup作为一个轻量且高效的选择&#xff0c;正悄然改变着这一切&#xff0c;本文将带你深入了解这个令人惊艳的打包工具…