HTTP 协议的基本定义
HTTP即超文本传输协议,是一种用于分布式、协作式和超媒体信息系统的应用层协议,是因特网上应用最为广泛的一种网络传输协议,是一个基于 TCP/IP 通信协议来传递数据的。HTTP 协议的特点
- 简单可扩展
- 无状态即没有记忆能力,每个请求都是独立的
HTTP 协议发展历程
最初的HTTP是只有HTML文档响应的单行协议,为了扩展HTTP的使用范围,有增加了Header及状态码等语义,又在后续的版本中加入了链接复用和二进制协议等,让HTTP有着更加优异的表现。
HTTP 请求方法
GET请求一个指定资源的表示形式.使用 GET 的请求应该只被用于获取数据POST用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用PUT用请求有效载荷替换目标资源的所有当前表示DELETE删除指定的资源HEAD请求一个与 GET 请求的响应相同的响应,但没有响应体CONNECT建立一个到由目标资源标识的服务器的隧道。OPTIONS用于描述目标资源的通信选项。TRACE沿着到目标资源的路径执行一个消息环回测试。PATCH用于对资源应用部分修改。
HTTP 状态码
状态码分类:
- 1xx → 信息,服务器收到请求,需要请求者继续执行操作
- 2xx → 成功,操作被成功接收并处理
- 3xx → 重定向,需要进一步的操作以完成请求
- 4xx → 客户端错误,请求包含语法错误或无法完成请求
- 5xx → 服务器错误,服务器在处理请求的过程中发生了错误
常见状态码:
- 200﹣客户端请求成功
- 301﹣资源(网页等)被永久转移到其它 URL
- 401 Unauthorized ﹣请求未经授权
- 404﹣请求资源不存在,可能是输入了错误的 URL
- 500﹣服务器内部发生了不可预期的错误
- 504 Gateway Timeout ﹣网关或者代理的服务器无法在规定的时间内获得想要的响应。
HTTP 是为 Web 浏览器与 Web 服务器之间的通信而设计的,提供了对网站服务器的身份认证,保护交换资料的隐私与完整性。