HTML 规定 Web 表单可以使用“GET 和”POST“方法,因此交互式 Web 应用程序在想要修改现有资源时必须使用其中之一。HTTP 标准在 POST 上说服务器应该接受“ ...一个新的从属Request-URI 标识的资源... "
因此,只要表单不创建新对象,我们就必须在技术上违反标准,哦,好吧。但是最不坏的方法是什么?
- 始终访问下属:
POST /hounds/ {id="rover", ...}
创建或修改“/hounds/rover” - 始终直接访问:
POST /hounds/rover {...}
创建或修改“/hounds/rover” - 创建下属,但直接修改。所以你按照1中创建,按照2中修改。如果客户端尝试错误操作,则报告错误。
- 支持 1. 和 2 两种操作都不会出错。