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