注销请求应该设计为 GET 还是 POST?
Should a logoff request be designed as GET or POST?
我正在实施一些休息服务。根据 SDK,我必须调用的第一个服务是 http POST 登录请求。输入是我的用户凭证,输出是我的 session id.
要注销,我还必须发出 http POST 请求,但请求 body 中没有任何 data/payload。相反,必须将 header 字段添加到包含 session id 的请求中。
我有点纠结,这是注销请求的正确设计,还是应该改用 GET 方法?更一般地说,没有输入(查询参数和请求 headers 除外)且没有输出的请求应该是 GET、POST 还是其他?为什么会或为什么不会?
根据 RFC2616 GET 是 "safe method" 即
SHOULD NOT have the significance of taking an action other than retrieval
注销,对我来说似乎不是一个安全的操作,因此不适合使用 GET。
因此它应该是 POST。似乎没有其他 HTTP 动词在语义上合适。
我正在实施一些休息服务。根据 SDK,我必须调用的第一个服务是 http POST 登录请求。输入是我的用户凭证,输出是我的 session id.
要注销,我还必须发出 http POST 请求,但请求 body 中没有任何 data/payload。相反,必须将 header 字段添加到包含 session id 的请求中。
我有点纠结,这是注销请求的正确设计,还是应该改用 GET 方法?更一般地说,没有输入(查询参数和请求 headers 除外)且没有输出的请求应该是 GET、POST 还是其他?为什么会或为什么不会?
根据 RFC2616 GET 是 "safe method" 即
SHOULD NOT have the significance of taking an action other than retrieval
注销,对我来说似乎不是一个安全的操作,因此不适合使用 GET。
因此它应该是 POST。似乎没有其他 HTTP 动词在语义上合适。