RESTful Web Services 详解
1. 其他 HTTP 方法
除了常见的 HTTP 方法,还有一些使用频率较低的方法:
- HEAD :与 GET 方法类似,但服务器在响应中不返回消息体。该方法可用于检查链接的有效性或实体的大小,而无需传输实体内容。
- TRACE :当服务器收到客户端的 TRACE 请求时,会原样返回收到的请求。这有助于查看中间服务器、代理或防火墙在请求中添加或修改了哪些内容。
- OPTIONS :用于请求关于由 URI 标识的请求/响应链上可用通信选项的信息。该方法允许客户端确定与资源相关的选项和/或要求,或服务器的功能,而无需执行资源操作或发起资源检索。
- CONNECT :与可动态切换为隧道的代理一起使用(一种 HTTP 协议作为各种网络协议包装器的技术)。
2. 内容协商
内容协商是指在有多种表示形式可用时,为给定响应选择最佳表示形式的过程。客户端的需求、偏好和能力各不相同,例如,日本移动设备用户的最佳表示形式可能不适用于美国的提要阅读器应用程序。
内容协商基于但不限于 HTTP 请求头中的 Accept、Accept - Charset、Accept - Encoding、Accept - Language 和 User - Agent。例如,要获取 Apress Java 书籍的 CSV 表示形式,客户端应用程序(用户代理)会发送一个请求头 Accept 设置为 text/csv 的请求到 http://