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 10 years, 3 months ago

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

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

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

cargo answered 10 years, 3 months 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 10 years, 3 months ago

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

被动的种马 answered 10 years, 3 months ago

Your Answer