GET如何以BODY传输?


GET一般是以Parameter传输。但是现在在IOS端需要把GET传输的数据以body传输。

这样做的原因:为了实现数据传输过程都以body方式加密传输。

问题:

1.GET传输的数据以body传输,在IOS上如何实现。

2.如果GET方式Parameter传输,这样会不会没有BODY安全?一般安全性特高的,也是GET方 式Parameter传输?

3.如果全部用POST方式。这样完全不符合REST API风格。

编程 http ios

Saerdna 11 years ago

把数据放到 body 里面,必须用 POST 方式取,这是 HTTP 协议限制的。

既然是传送 data,那么就用 POST。

GET 传递的不是 data,是其它的附加参数,当 url 无法详细描述一个 uri 资源是,用 parameter 辅助一下,比如分页、排序、等……

cargo answered 11 years ago

理论上GET和POST没有本质区别,所以建议用POST做。

另,如果一定要用GET,建议把要传输的数据放在同一个对象里,例如你要传输的内容是:

http://example.com/api?paramA=valueA&paramB=ValueB&paramC=ValueC

则可以先构建要传输的对象(举例用JSON格式,其他格式也无所谓):

{"paramA":"valueA","paramB":"valueB","paramC":"valueC"}

然后对这个对象加密,比如得到密文:

uyUYbJhkIU*^GmklJL(Tu6RJHGHYRhgV$6U%&^%M<HJFHGFjJHGjgj

再做URL Encode,传输:

http://example.com/api?data=uyUYbJhkIU%2A%5EGmklJL%28Tu6RJHGHYRhgVU%25%26%5E%25M%3CHJFHGFjJHGjgj

七十二指肠溃疡 answered 11 years ago

你直接用post传输就行了。安全这块你看下签名验证有关的资料,有其他方法保证。

被动的种马 answered 11 years ago

Your Answer