Pra*_*uja 31 upload post get file-upload
众所周知,文件上传通常是使用POST方法完成的.那么,为什么不能将该GET方法用于文件上传呢?是否有针对HTTP GET上传的特定禁止?
rdl*_*rey 36
RFC 2616不会阻止实体主体作为GET请求的一部分.这常常被误解,因为PHP因其名称不佳的 $_GET超全球而混淆了水域.$_GET从技术上讲,它与HTTP GET请求方法无关 - 它只不过是来自请求URI查询字符串的url编码参数的键值列表.$_GET即使请求是通过POST/PUT /等进行的,您也可以访问该阵列.很奇怪,对吗?不是很好的抽象,是吗?
那么规范对GET方法的说法是什么......好吧:
特别是,已经建立了这样的惯例:GET和HEAD方法不应该具有采取除检索之外的动作的重要性.这些方法应该被认为是"安全的".
因此,GET的重要一点是确保任何GET请求都是安全的.尽管如此,禁止只是"不应该" ......技术上,HTTP仍然允许GET请求导致不严格基于"检索"的动作.
当然,从语义角度来看,使用一个名为GET执行"获取"资源以外的动作的方法也没有多大意义.
关于幂等性,规范说:
方法也可以具有"幂等"的属性(除了错误或到期问题)N> 0个相同请求的副作用与单个请求相同.方法GET,HEAD,PUT和DELETE共享此属性.
这意味着对于同一资源的多个请求,GET方法不得具有不同的副作用.因此,无论作为GET请求的一部分存在的实体主体,副作用必须始终相同.在外行的术语中,这意味着如果您向实体主体发送100次GET,则服务器无法创建100个新资源.无论是发送一次还是100次请求都必须具有相同的结果.这严重限制了GET方法用于发送实体主体的有用性.
如有疑问,在评估方法的功效及其产生的副作用时,请始终回到安全性/幂等性测试.
| 归档时间: |
|
| 查看次数: |
31637 次 |
| 最近记录: |