首页 > 代码库 > HTTP协议
HTTP协议
HTTP协议特点:
•HyperText Transfer Protocol
•设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由统一资源标识符(Uniform Resource Identifiers,URI)来标识。
•Over TCP/IP
•简单快速:客户向服务器请求服务时,只需传送请求方法和路径。
•灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
•无状态:HTTP协议是无状态协议。
HTTP请求方法:
•GET 请求获取Request-URI所标识的资源
•POST 在Request-URI所标识的资源后附加新的数据
•HEAD请求获取由Request-URI所标识的资源的响应消息报头
•PUT 请求服务器存储一个资源,并用Request-URI作为其标识
•DELETE 请求服务器删除Request-URI所标识的资源
•TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断
•CONNECT 保留将来使用
•OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求
HTTP 返回码:
1xx:信息响应类,表示接收到请求并且继续处理
这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。 · 100 - 继续。· 101 - 切换协议。
2xx:处理成功响应类,表示动作被成功接收、理解和接受
这类状态代码表明服务器成功地接受了客户端请求。 · 200 - 确定。客户端请求已成功。· 201 - 已创建。· 202 - 已接受。· 203 - 非权威性信息。· 204 - 无内容。· 205 - 重置内容。· 206 - 部分内容。
3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理
客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。 · 302 - 对象已移动。· 304 - 未修改。· 307 - 临时重定向。
4xx:客户端错误,客户请求包含语法错误或者是不能正确执行
发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。 · 400 - 错误的请求。· 401 - 访问被拒绝。IIS 定义了许多不同的 401 错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在 IIS 日志中显示: · 401.1 - 登录失败。· 401.2 - 服务器配置导致登录失败。· 401.3 - 由于 ACL 对资源的限制而未获得授权。· 401.4 - 筛选器授权失败。· 401.5 - ISAPI/CGI 应用程序授权失败。· 401.7 – 访问被 Web 服务器上的 URL 授权策略拒绝。这个错误代码为 IIS 6.0 所专用。· 403 - 禁止访问:IIS 定义了许多不同的 403 错误,它们指明更为具体的错误原因: · 403.1 - 执行访问被禁止。· 403.2 - 读访问被禁止。· 403.3 - 写访问被禁止。· 403.4 - 要求 SSL。· 403.5 - 要求 SSL 128。· 403.6 - IP 地址被拒绝。· 403.7 - 要求客户端证书。· 403.8 - 站点访问被拒绝。· 403.9 - 用户数过多。· 403.10 - 配置无效。· 403.11 - 密码更改。· 403.12 - 拒绝访问映射表。· 403.13 - 客户端证书被吊销。· 403.14 - 拒绝目录列表。· 403.15 - 超出客户端访问许可。· 403.16 - 客户端证书不受信任或无效。· 403.17 - 客户端证书已过期或尚未生效。· 403.18 - 在当前的应用程序池中不能执行所请求的 URL。这个错误代码为 IIS 6.0 所专用。· 403.19 - 不能为这个应用程序池中的客户端执行 CGI。这个错误代码为 IIS 6.0 所专用。· 403.20 - Passport 登录失败。这个错误代码为 IIS 6.0 所专用。· 404 - 未找到。 · 404.0 -(无) – 没有找到文件或目录。· 404.1 - 无法在所请求的端口上访问 Web 站点。· 404.2 - Web 服务扩展锁定策略阻止本请求。· 404.3 - MIME 映射策略阻止本请求。· 405 - 用来访问本页面的 HTTP 谓词不被允许(方法不被允许)· 406 - 客户端浏览器不接受所请求页面的 MIME 类型。· 407 - 要求进行代理身份验证。· 412 - 前提条件失败。· 413 – 请求实体太大。· 414 - 请求 URI 太长。· 415 – 不支持的媒体类型。· 416 – 所请求的范围无法满足。· 417 – 执行失败。· 423 – 锁定的错误。
5xx:服务端错误,服务器不能正确执行一个正确的请求
服务器由于遇到错误而不能完成该请求。 · 500 - 内部服务器错误。 · 500.12 - 应用程序正忙于在 Web 服务器上重新启动。· 500.13 - Web 服务器太忙。· 500.15 - 不允许直接请求 Global.asa。· 500.16 – UNC 授权凭据不正确。这个错误代码为 IIS 6.0 所专用。· 500.18 – URL 授权存储不能打开。这个错误代码为 IIS 6.0 所专用。· 500.100 - 内部 ASP 错误。· 501 - 页眉值指定了未实现的配置。· 502 - Web 服务器用作网关或代理服务器时收到了无效响应。 · 502.1 - CGI 应用程序超时。· 502.2 - CGI 应用程序出错。application.· 503 - 服务不可用。这个错误代码为 IIS 6.0 所专用。· 504 - 网关超时。· 505 - HTTP 版本不受支持。
常见的 HTTP 状态代码及其原因:
200——交易成功
301 redirect: 301 代表永久性转移(Permanently Moved),
302 redirect: 302 代表暂时性转移(Temporarily Moved ),
304 Not Modified get请求文件未改变
403——请求不允许
404——没有发现文件、查询或URl
500——服务器产生内部错误
HTTP协议
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。