我在这里看到了一些问题,比如如何调试RESTful服务,其中提到:
不幸的是,同一浏览器不允许我测试HTTP PUT、DELETE,甚至在某种程度上也不允许我测试HTTP POST。
我也听说过浏览器只支持GET和POST,从其他一些来源,比如:
http://www.packetizer.com/ws/rest.html
http://www.mail-archive.com/jmeter-user@jakarta.apache.org/msg13518.html
http://www.xml.com/cs/user/view/cs_msg/1098
但是,Firefox中的一些快速测试表明,发送PUT和DELETE请求的效果与预期一致——XMLHttpRequest成功完成,请求以正确的方法显示在服务器日志中。我是否忽略了某些方面,比如跨浏览器兼容性或不明显的限制?
XMLHttpRequest是JavaScript对象模型中的一个标准对象。
根据维基百科的说法,XMLHttpRequest最初是作为一个ActiveX对象出现在Internet Explorer 5中,但后来成为了一个标准,并在Mozilla家族的1.0、Apple Safari 1.2、Opera 7.60-p1和IE 7.0中被包含在JavaScript中使用。
对象上的open()方法以HTTP方法作为参数-并指定为接受任何有效的HTTP方法(参见链接的第5项)-包括GET, POST, HEAD, PUT和DELETE,如RFC 2616所指定的。
附注IE 7-8只允许以下HTTP方法:"GET", "POST", "HEAD", "PUT", "DELETE", "MOVE", "PROPFIND", "PROPPATCH", "MKCOL", "COPY", "LOCK", "UNLOCK",和"OPTIONS"。