HTTP 状态代码 (Winhttp.h)

文章目录

    • 对开发者有什么帮助
    • 状态码产生要求
    • WinHTTP状态码
    • 推荐阅读

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
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 协议版本。

推荐阅读

  • 本地开发和测试环境为什么一定建议用127.0.0.1或者localhost
  • ERR_CONNECTION_REFUSED等非标准的HTTP错误状态码原因分析和解决办法
  • 佳节发好文,详细解读HTTP错误状态码503 Service Unavailable等产生原因及解决办法
  • HTTP状态码504(Gateway Timeout)报错原因分析和解决办法
  • HTTP状态码301(永久重定向)不同Web服务器的配置方法
  • Python 连接 SQL 数据库 -pyodbc

你可能感兴趣的:(编程开发,http,网络协议,网络,状态码)