本周早些时候,我不得不做一些东西,感觉就像一个语义冲突。 让我解释。
我正在一个简单的AJAX客户端应用程序,这是使一个服务的请求以及参数给定数。 由于整个程序基本上是只读的,我认为使用HTTP GET是要走的路。 有的,我必须通过参数很简单(如排序顺序,或页码)。
然而,所需的参数之一可能是可变长度的,这让我担心。 因为我编码所有在GET请求中的查询字符串的参数,它似乎我,这个放置了不必要的(大致)2000个字符的请求URL上限 。 也不管,我不喜欢看到500个字符长的URL请求。
所以,因为POST请求没有这样的限制,我决定转行。 但是,这感觉不对。 我的印象是一个POST表示数据的修改下 - 但我使用它的一个简单的只读请求。
有一个更好的方法吗? 要执行GET,有很多参数? 我听说过一个方法-在执行参数本身的一个初步的帖子,然后执行GET。 但是,这种技术极不理想。
但看过去的这种特殊情况下, 什么是HTTP请求方法的真正语义和限制? 为什么被弄不支持任何类型参数的有效载荷的? 在URL中使用查询字符串几乎感觉就像一个黑客给我。