HTTP GET 请求在请求体中带参数的问题
2016-05-02 20:26
127 查看
最近看Elasticsearch: The Definitive Guide这本书的时候,有些时候发现使用curl的时候,在GET请求中加了-d参数,因为很少见到GET请求在请求体中带参数,一般情况下都是在URL里面的,所以好奇特地用wireshark抓了一下包,使用的命令是
可以看到GET请求的URL是
curl -XGET "http://120.25.162.238:9200/_search?pretty" -d '{"from":5,"size":5}',返回的结果一切正常,抓包结果如图所示:
可以看到GET请求的URL是
/_search?pretty,URL中并没有想像中的参数,参数是在图片最下方所示的部分中。由此观之,HTTP GET请求实际上也是能在请求体中带参数的,只不过有些服务器(尤其是缓存代理服务器)可能不支持这种方式而已。而ES的设计者认为GET比较符合检索信息的这个动作,比POST要好,所以使用了GET请求,不过为了与习惯保持一致,而且为了兼容所有的服务器,所以把GET换成POST也是可以的。
相关文章推荐
- Volley相关知识
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />解释
- 网络编程--初识Volley之Request的使用
- 关于网络子网的划分
- httpClient发送key_value、json参数及文件
- C++实现简单的HTTP服务器
- 网游中的网络编程系列1:UDP vs. TCP
- eclipse https git
- bzoj 1596: [Usaco2008 Jan]电话网络
- TCP UDP分片
- IOCP模型与网络编程
- 网络访问回调
- Linux TCP队列相关参数的总结 转
- windows下用批处理文件修改网络适配器设置
- Unix网络编程—为客户端进程指定端口
- 用URLConnection来实现简单的java网络爬虫
- 网络流最大流之SAP算法 详解
- https://github.com/Trinea/android-open-project
- 20159311《网络攻击与防范》第九周学习总结
- Is the server running on host “localhost” (::1) and accepting TCP/IP connections on port 5432?