相同之处
- 都是请求方法
- 都能传递参数
区别之处
- get 主要用于
得,一般大小限制在2~8k,参数会暴露在地址栏,不安全 - post 主要用于
给,无大小限制,参数包装在请求体中,安全
| 区别 | get | post |
|---|---|---|
| 用途 | 得 | 给 |
| 大小限制 | 2~8K | 不限 |
| 参数 | 暴露在地址栏 | 包装在请求体中 |
| 安全性 | 不安全 | 安全 |
| 方法 | 不需要明确指明 | 需要明确指定 |
| 参数拼接 | 从第二个参数起,不管是 get 还是 post都是用&符号拼接 | |
| 参数中有中文 | 需要自行对参数进行百分号转义 | 不需要转义 |
| 缓存 | 有 | 无 |
url 有中文或者有空格处理
发送请求的 url 中不能包含中文 ,需要将中文进行百分号转义,String 的对象方法- stringByAddingPercentEscapeUsingEncoding
只能对中文和空格进行转义,其他特殊字符串一概不认识自定义的处理方法
该方法可以把带特殊字符的字符串进行百分号转义
- (NSString*)generalUrlString:(NSString*)urlString
{
NSString* encodingString = (__bridge_transfer NSString*)CFURLCreateStringByAddingPercentEscapes(NULL, (__bridge CFStringRef)urlString, CFSTR("!*()[];:@&=+$,?%#"), NULL, CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding));
return encodingString;
}
在开发中如何选择
- 在上传数据给服务器时,能用就尽量使用 POST,因为 POST 安全性高
- 如果只是简单从服务器获取数据,不需要给服务器传输数据,强烈建议使用 GET,因为 GET 有缓存,效率高
本文详细对比了HTTP请求方法GET和POST的区别与联系。GET适用于获取数据且参数限制较小,而POST用于提交数据,没有大小限制且更为安全。文章还探讨了它们在实际应用中的选择策略。
2894

被折叠的 条评论
为什么被折叠?



