GET一般是以Parameter传输。但是现在在IOS端需要把GET传输的数据以body传输。
这样做的原因:为了实现数据传输过程都以body方式加密传输。
问题:
1.GET传输的数据以body传输,在IOS上如何实现。
2.如果GET方式Parameter传输,这样会不会没有BODY安全?一般安全性特高的,也是GET方 式Parameter传输?
3.如果全部用POST方式。这样完全不符合REST API风格。
大家讲道理2017-04-17 13:10:46
理论上GET和POST没有本质区别,所以建议用POST做。
另,如果一定要用GET,建议把要传输的数据放在同一个对象里,例如你要传输的内容是:
http://example.com/api?paramA=valueA¶mB=ValueB¶mC=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
伊谢尔伦2017-04-17 13:10:46
把数据放到 body 里面,必须用 POST 方式取,这是 HTTP 协议限制的。
既然是传送 data,那么就用 POST。
GET 传递的不是 data,是其它的附加参数,当 url 无法详细描述一个 uri 资源是,用 parameter 辅助一下,比如分页、排序、等……