【发布时间】:2014-01-09 19:31:29
【问题描述】:
在选择 HTTP GET 和 HTTP POST 作为 ASP.NET MVC 中控制器上允许的操作方法时,我通常会遵循这些建议。
当服务器端没有变化时,也就是我想检索资源,HTTP GET 是允许的。
当用户即将提交一些将被持久化的数据时,需要使用 HTTP POST。
现在灰色区域的问题来了:
如果用户想下载文件怎么办?
通常我会将其设置为 HTTP GET(由于安全原因,文件存储在数据库中),因为服务器上没有进行任何更改。
如果我想记录用户 Y 下载的文件 X 怎么办?
随着新日志的创建,现在服务器端发生了变化。这是将 HTTP 方法从 GET 更改为 POST 的充分理由吗?
【问题讨论】:
-
下载前用户是否已经登录网站?
-
是的,但实际上并没有太大的区别。
-
下载文件应该是 GET
标签: asp.net asp.net-mvc http asp.net-mvc-4 http-post