iOS开发中的 GET 与 POST

本文详细对比了HTTP请求方法GET和POST的区别与联系。GET适用于获取数据且参数限制较小,而POST用于提交数据,没有大小限制且更为安全。文章还探讨了它们在实际应用中的选择策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相同之处

  1. 都是请求方法
  2. 都能传递参数

区别之处

  1. get 主要用于 ,一般大小限制在2~8k,参数会暴露在地址栏,不安全
  2. post 主要用于,无大小限制,参数包装在请求体中,安全
区别getpost
用途
大小限制2~8K不限
参数暴露在地址栏包装在请求体中
安全性不安全安全
方法不需要明确指明需要明确指定
参数拼接从第二个参数起,不管是 get 还是 post都是用&符号拼接
参数中有中文需要自行对参数进行百分号转义不需要转义
缓存

url 有中文或者有空格处理

  1. 发送请求的 url 中不能包含中文 ,需要将中文进行百分号转义,String 的对象方法- stringByAddingPercentEscapeUsingEncoding
    只能对中文和空格进行转义,其他特殊字符串一概不认识

  2. 自定义的处理方法
    该方法可以把带特殊字符的字符串进行百分号转义

- (NSString*)generalUrlString:(NSString*)urlString
{
    NSString* encodingString = (__bridge_transfer NSString*)CFURLCreateStringByAddingPercentEscapes(NULL, (__bridge CFStringRef)urlString, CFSTR("!*()[];:@&=+$,?%#"), NULL, CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding));

    return encodingString;
}

在开发中如何选择

  1. 在上传数据给服务器时,能用就尽量使用 POST,因为 POST 安全性高
  2. 如果只是简单从服务器获取数据,不需要给服务器传输数据,强烈建议使用 GET,因为 GET 有缓存,效率高
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值