【整理】HTTP/REST中GET、POST、PUT、OPTIONS等概念与区别
HTTP/1.1协议中请求方法用于获取一定的Web页面或用于特定的URL,来表明Request-URI指定的资源的不同操作方式,有如下方法:
GET: 向特定资源发出请求,并返回资源主体。
POST:向指定资源提交数据处理请求,数据包含在请求中,可以修改资源。
PUT: 向指定资源位置上传最新内容,可以新建或修改资源。
DELETE: 请求服务器删除Request-URI所标识的资源。
OPTIONS: 返回服务器针对特定资源所支持的HTTP请求方法,也可利用向Web服务器发送'*'的请求来测试服务器的功能性。
HEAD:向服务器索要与GET请求相一致的响应,只不过响应体不会被返回。该方法可以在不必传输整个响应内容的情况下,就能获取包含在响应消息头中的元信息。
TRACE: 回显服务器收到的请求,主要用于测试或诊断。
【推荐阅读】GET,POST,PUT,DELETE的区别
------------------------------------------------------------------------------------
当服务器响应时,其状态行的信息为HTTP的版本号,状态码,及解释状态码的简单说明。现将5类状态码详细列出:
① 1** 用于指定客户端(临时)响应相应的某些动作
100 继续 101 交换协议
② 2** 用于表示请求成功
200 OK 201 已创建 202 接收 203 非认证信息 204 无内容 205 重置内容 206 部分内容
③ 3** 用于重定向
300 多路选择 301 永久转移 302 暂时转移 303 参见其它 304 未修改(Not Modified) 305 使用代理
④ 4** 客户端错误
400 错误请求(Bad Request) 401 未认证 402 需要付费 403 禁止(Forbidden) 404 未找到(Not Found) 405 方法不允许
406 不接受 407 需要代理认证 408 请求超时 409 冲突 410 失败 411 需要长度 412 条件失败 413 请求实体太大
⑤ 5** 服务端错误
500 服务器内部错误 501 未实现(Not Implemented) 502 网关失败 504 网关超时 505 HTTP版本不支持
【推荐阅读】HTML状态码大全(301,404,500等
------------------------------------------------------------------------------------
REST,我们可以跟数据库的CRUD增删改查操作对应起来:
CREATE :PUT READ:GET UPDATE:POST DELETE:DELETE
------------------------------------------------------------------------------------