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应用程序)反馈请求处理结果的三位数字代码,它们指示了请求的成功、重定向、客户端或服务器错误等不同状态。


目录
相关文章
|
6月前
|
安全 Linux 网络安全
Linux使用HTTP隧道代理代码示例模版
Linux使用HTTP隧道代理代码示例模版
89 0
|
小程序 API
钉钉小程序端https和http发送的实例代码
钉钉小程序端https和http发送的实例代码
315 1
|
12月前
|
网络协议 算法 Shell
来我们探究一下net/http 的代码流程
来我们探究一下net/http 的代码流程
|
2月前
|
开发者
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
31 1
|
6月前
|
SQL DataWorks Java
DataWorks操作报错合集之在阿里云 DataWorks 中,代码在开发测试阶段能够成功运行,但在提交后失败并报错“不支持https”如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
111 1
DataWorks操作报错合集之在阿里云 DataWorks 中,代码在开发测试阶段能够成功运行,但在提交后失败并报错“不支持https”如何解决
|
6月前
|
JSON 前端开发 搜索推荐
BoostCompass( http_server 模块 | 项目前端代码 )
BoostCompass( http_server 模块 | 项目前端代码 )
64 4
|
6月前
|
安全 Java 网络安全
HTTPS的TLS/SSL协议详解及Java代码示例
HTTPS的TLS/SSL协议详解及Java代码示例
612 0
|
6月前
|
存储
HTTP 状态代码:开发人员指南
HTTP 状态代码是 Web 服务器和客户端之间的重要通信工具,提供有关客户端请求结果的重要信息。这些三位数字代码将响应分为不同的组,每个组传达有关请求状态的特定信息。了解这些状态代码对于开发人员来说至关重要,因为它们有助于诊断和解决 Web 交互期间发生的问题。
|
Web App开发 前端开发 JavaScript
DevTools 无法加载 SourceMap 错误:状态代码 404,net::ERR_HTTP_RESPONSE_CODE_FAILURE
DevTools 无法加载 SourceMap 错误:状态代码 404,net::ERR_HTTP_RESPONSE_CODE_FAILURE
376 0
|
网络协议 Shell Go
来我们一起探究一下net/http 的代码流程
是GO的其中一个标准库,用于Web应用的开发,使用这个库,可以让开发变得更加迅速和简便,且易于上手