HTTP 状态代码 (Winhttp.h)

简介: HTTP 状态代码是服务器通过HTTP协议向客户端(如使用WinHTTP库的Windows应用程序)反馈请求处理结果的三位数字代码,它们指示了请求的成功、重定向、客户端或服务器错误等不同状态。

Microsoft Windows HTTP Services (WinHTTP) 的用户应使用最新版本的技术版本 5.1。 版本 5.0 不再受支持。

对开发者有什么帮助

HTTP状态代码(HTTP status codes)是Web开发中的标准返回码,它们指示了HTTP请求的结果。Winhttp.h 是 Windows 平台上用于HTTP通信的头文件,它提供了在Windows环境下进行HTTP请求和处理HTTP响应的功能。

HTTP状态代码是开发者用于管理和优化HTTP通信的重要工具,能够帮助他们改进应用程序的异常处理、调试和故障排除、日志和监控、稳定性、性能和用户体验。在编程中,使用Winhttp.h或其他HTTP库时,理解和正确处理HTTP状态代码是一个重要的任务。

状态码产生要求

要求
最低受支持的客户端 Windows XP、Windows 2000 Professional SP3 [仅限桌面应用]
最低受支持的服务器 Windows Server 2003、Windows 2000 Server SP3 [仅限桌面应用]
标头 Winhttp.h

WinHTTP状态码

这些常量和相应的值表示 Internet 上的服务器返回的 HTTP 状态代码。

HTTP_STATUS CODE 描述
HTTP_STATUS_CONTINUE 100 可以继续请求。
HTTP_STATUS_SWITCH_PROTOCOLS 101 服务器在升级标头中交换了协议。
HTTP_STATUS_OK 200 请求已成功完成。
HTTP_STATUS_CREATED 201 请求已得到满足,并导致创建新资源。
HTTP_STATUS_ACCEPTED 202 已接受请求进行处理,但尚未完成处理。
HTTP_STATUS_PARTIAL 203 entity-header 中返回的元信息不是原始服务器提供的权威集。
HTTP_STATUS_NO_CONTENT 204 服务器已满足请求,但没有要发送回的新信息。
HTTP_STATUS_RESET_CONTENT 205 请求已完成,客户端程序应重置导致发送请求的文档视图,以允许用户轻松启动另一个输入操作。
HTTP_STATUS_PARTIAL_CONTENT 206 服务器已完成对资源的部分 GET 请求。
HTTP_STATUS_WEBDAV_MULTI_STATUS 207 在万维网分布式创作和版本控制 (WebDAV) 操作期间,这表示单个响应的多个状态代码。 响应正文包含描述状态代码的可扩展标记语言 (XML) 。 有关详细信息,请参阅 分布式创作的 HTTP 扩展。
HTTP_STATUS_AMBIGUOUS 300 请求的资源在一个或多个位置可用。
HTTP_STATUS_MOVED 301 请求的资源已分配给新的永久统一资源标识符 (URI) ,将来对此资源的任何引用都应使用返回的 URI 之一完成。
HTTP_STATUS_REDIRECT 302 请求的资源暂时驻留在不同的 URI 下。
HTTP_STATUS_REDIRECT_METHOD 303 对请求的响应可以在不同的 URI 下找到,应使用该资源上的 GET HTTP 谓词 进行检索。
HTTP_STATUS_NOT_MODIFIED 304 请求的资源尚未修改。
HTTP_STATUS_USE_PROXY 305 必须通过位置字段提供的代理访问请求的资源。
HTTP_STATUS_REDIRECT_KEEP_VERB 307 重定向的请求保留相同的 HTTP 谓词。 HTTP/1.1 行为。
HTTP_STATUS_BAD_REQUEST 400 由于语法无效,服务器无法处理请求。
HTTP_STATUS_DENIED 401 请求的资源需要用户身份验证。
HTTP_STATUS_PAYMENT_REQ 402 未在 HTTP 协议中实现。
HTTP_STATUS_FORBIDDEN 403 服务器理解请求,但无法满足请求。
HTTP_STATUS_NOT_FOUND 404 服务器未找到与请求的 URI 匹配的任何内容。
HTTP_STATUS_BAD_METHOD 405 不允许使用 HTTP 谓词
HTTP_STATUS_NONE_ACCEPTABLE 406 找不到客户端可接受的响应。
HTTP_STATUS_PROXY_AUTH_REQ 407 需要代理身份验证。
HTTP_STATUS_REQUEST_TIMEOUT 408 服务器等待请求时超时。
HTTP_STATUS_CONFLICT 409 由于与资源的当前状态冲突,请求无法完成。 用户应重新提交详细信息。
HTTP_STATUS_GONE 410 请求的资源在服务器上不再可用,并且没有已知的转发地址。
HTTP_STATUS_LENGTH_REQUIRED 411 服务器无法接受未定义内容长度的请求。
HTTP_STATUS_PRECOND_FAILED 412 在服务器上测试时,一个或多个请求标头字段中给定的前提条件的计算结果为 false。
HTTP_STATUS_REQUEST_TOO_LARGE 413 服务器无法处理请求,因为请求实体大于服务器能够处理的实体。
HTTP_STATUS_URI_TOO_LONG 414 服务器无法为请求提供服务,因为请求 URI 比服务器可以解释的要长。
HTTP_STATUS_UNSUPPORTED_MEDIA 415 服务器无法为请求提供服务,因为请求的实体的格式不受所请求方法的资源支持。
HTTP_STATUS_RETRY_WITH 449 执行相应操作后,应重试该请求。
HTTP_STATUS_SERVER_ERROR 500 服务器遇到一个意外情况,导致它无法满足请求。
HTTP_STATUS_NOT_SUPPORTED 501 服务器不支持满足请求所需的功能。
HTTP_STATUS_BAD_GATEWAY 502 服务器在充当网关或代理时,从尝试满足请求时访问的上游服务器收到无效响应。
HTTP_STATUS_SERVICE_UNAVAIL 503 服务临时过载。
HTTP_STATUS_GATEWAY_TIMEOUT 504 请求等待网关超时。
HTTP_STATUS_VERSION_NOT_SUP 505 服务器不支持请求消息中使用的 HTTP 协议版本。

HTTP 状态代码是服务器通过HTTP协议向客户端(如使用WinHTTP库的Windows应用程序)反馈请求处理结果的三位数字代码,它们指示了请求的成功、重定向、客户端或服务器错误等不同状态。


目录
相关文章
|
1月前
|
安全 Linux 网络安全
Linux使用HTTP隧道代理代码示例模版
Linux使用HTTP隧道代理代码示例模版
19 0
|
5月前
|
网络协议 算法 Shell
来我们探究一下net/http 的代码流程
来我们探究一下net/http 的代码流程
|
6月前
|
小程序 API
钉钉小程序端https和http发送的实例代码
钉钉小程序端https和http发送的实例代码
182 1
|
3月前
|
存储
HTTP 状态代码:开发人员指南
HTTP 状态代码是 Web 服务器和客户端之间的重要通信工具,提供有关客户端请求结果的重要信息。这些三位数字代码将响应分为不同的组,每个组传达有关请求状态的特定信息。了解这些状态代码对于开发人员来说至关重要,因为它们有助于诊断和解决 Web 交互期间发生的问题。
54 0
|
7月前
Cypress 等待某个 HTTP put 请求得到 200 状态码后,再执行下一步的操作代码
Cypress 等待某个 HTTP put 请求得到 200 状态码后,再执行下一步的操作代码
28 0
|
Linux 网络安全 开发工具
Linux 安装git,并且使用https方式 git pull 代码的免密操作
Linux 安装git,并且使用https方式 git pull 代码的免密操作
318 0
|
9月前
|
网络协议 Shell Go
来我们一起探究一下net/http 的代码流程
是GO的其中一个标准库,用于Web应用的开发,使用这个库,可以让开发变得更加迅速和简便,且易于上手
|
Java Spring
Spring boot 封装的http调用工具 RestTemplate 代码简洁好用
经常会调用一些接口,需要自己写httpclient,后面会把java自带的调用例子补上。后来发现spring封装好了一工具比较实用,这里备忘一下,方便后面查阅和使用。后面还会更新一些新的内容。
603 0
|
Python
简单的Python文件服务器和HTTP POST上传文件C代码
简单的Python文件服务器和HTTP POST上传文件C代码
79 0
|
XML 前端开发 JavaScript
如何使用代码来构造HTTP请求?
如何使用代码来构造HTTP请求?
如何使用代码来构造HTTP请求?