Ahm*_*gle 24 .net java language-design
在.NET Framework 的参考中HttpRequest.HttpMethod
,请求类型使用System.String
type 声明.
在RFC 2616中,声明了所有HTTP请求方法(例如POST,GET,PUT,DELETE ......).
还有类似的行为HttpWebRequest
和WebRequest
.NET类.
Java在方法上有类似的HttpURLConnection#setRequestMethod(String)
方法.
为什么这些语言设计者不考虑为这些HTTP方法实现枚举?
你有好主意吗?
Dam*_*ver 35
您的RFC 2616链接的第一句话(重点已添加):
HTTP/1.1 的常用方法集定义如下.虽然这套可以扩大 ......
也就是说,HTTP中的方法可以是任何东西.有"众所周知的"或常用的方法,其语义已被很好地理解(好吧,好的,应该很好理解 - 我仍然遇到人们对GET/POST不清楚).
但任何应用程序都可以实现其他方法 希望在客户端和服务器应用程序之间很好地理解其他方法的语义.
由于这些原因,枚举是不合适的,因为总有"其他"值不适合该枚举.
来自RFC 2616的更多引用:
实用信息系统需要比简单检索更多的功能,包括搜索,前端更新和注释.HTTP允许一组开放式的方法和标头来指示请求的目的
和,
Method标记指示要对Request-URI标识的资源执行的方法.该方法区分大小写.
Method = "OPTIONS" ; Section 9.2
| "GET" ; Section 9.3
| "HEAD" ; Section 9.4
| "POST" ; Section 9.5
| "PUT" ; Section 9.6
| "DELETE" ; Section 9.7
| "TRACE" ; Section 9.8
| "CONNECT" ; Section 9.9
| extension-method
extension-method = token
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15204 次 |
最近记录: |