1. Scheme介绍
  2. 请求方法
  3. 状态码
  4. 名词解释

Scheme:方案(差点老花眼看成schema了

  • http: 默认端口80 http://<host>:<port>/<path>?<query>#<frag>
  • https: 安全的http 默认端口443 https://<host>:<port>/<path>?<query>#<frag>
  • mailto: mailto:antwork@126.com
  • ftp: 文件传输协议URL可以用来上传下载,并获取FTP服务器上的目录结构内容的列表 ftp://<user>:<password>@<host>:<port>;<params>
  • rtsp, rtspu(u代表udp): Real Time Streaming Protocol:实时流传输协议 rtsp://www.baidu.com:554/abc/video
  • file: 主机上可直接访问的文件 file://<host>/<path>
  • news: 一些特定的文章或新闻组 news:rec.arts.startrek
  • telnet: 访问交互式业务。通过telnet协议访问的交互式应用程序(资源)telnet://<user>:<password>@<host>:<port>/

HTTP方法:

  1. GET 从服务器向客户端发送命名资源,应该安全使用的方法,多次调用不影响资源

  2. PUT 将客户端的数据存储到一个命名的服务器

  3. POST 将客户端数据发送到一个服务器网关应用程序
  4. DELETE 从服务器中删除命名资源
  5. HEAD 仅发送命名资源响应中的HTTP首部
    只返回首部的Get方法。用途:1.了解资源情况;2.确定对象的存在;3.检查是否被修改
  6. TRACE 主要用于诊断,用于查看代理和其他应用程序对用户请求所产生效果。但是它依赖于中间件的处理,不是特别可靠。
  7. OPTION 请求服务器告知其支持的各种功能, 比如返回Allow: GET, POST, PUT, OPTIONS
  8. DELETE 请求服务器删除某资源,但是服务器可能在不通知客户端的情况下撤销请求,所以不是很可靠

POST与PUT比较类似,都可以用来创建和更新资源,真实区别在于幂等性,简单来说,幂等的话调用多次和调用一次的副作用是一样的,POST不是幂等的,多次调用会创建多个新数据,而PUT应该是幂等的。其实具体怎么用都是使用者自己来决定,但是HTTP给到的规范,实施者还是应该根据两者区别正确使用,具体说明见参考链接。

状态码

整体范围 已定义范围 分类
100~199 100~101 信息提示
200~299 200~206 成功
300~399 300~305 重定向
400~499 400~415 客户端错误
500~599 500~505 服务器错误

常见状态码:

200 成功
301 在请求资源被移走时使用,头部的Location字段包含现有资源位置
302 与301类似,区别在于301是永久迁移,301是临时定位,将来还会用回老的url
401 未授权
404 没找到资源
500 后台错误

名词解释:

URI: Uniform Resources Identifier 统一资源标识符;理论名词.

  • URL: Uniform Resources Location 统一资源定位符;是URI的一种表现形式,URI子集
  • URN: Uniform Resources Name 统一资源名; 与资源无关,资源可以四处搬移,URI子集,试验阶段。

MIME: Multipurpose Internet Mail Extension 多用途因特网邮件扩展,这个有点逗,原来用在接收多类型邮件,直接用在了HTTP了。

参考:

幂等性:http://www.cnblogs.com/weidagang2046/archive/2011/06/04/idempotence.html