iOS网络编程 get post 区别
来源:互联网 发布:网络电子游戏平台 编辑:程序博客网 时间:2024/05/16 07:10
GET 和 POST 的区别
HTTP请求方法
GET 所有的参数都拼接在URL后面 (安全性比POST要差,
所有GET登陆请求都会生成日志并且保存到手机里面!)GET使用场景为:查找数据
POST 参数不拼接到URL后面,所有参数都存放在请求体中。POST使用场景为:更改数据
GET 和 POST 主要区别表现在数据的传递上
A.GET在请求URL后面已”?”的形式跟上发送给服务器请求的参数,多个参数之间已”&”符号隔开,例:
http://www.test.com/login?username=123&pwd=123&type=jsonB.由于浏览器和服务器对URL的长度有限制,因此一条URL一般不能超过1KB
C.POST发送给服务器的参数全部都放在请求体中。
D.理论上,POST传递的数据量没有限制(具体取决于服务器性能)。
4.选择使用 GET 和 POST 的建议
A.如果要传递大量数据,如上传文件,只能POST请求
B.GET的安全性比POST要差一些,如包含密码\其他敏感信息,建议使用POST
C.如果仅仅是索取数据(数据查找),建议使用GET
D 如果是增加、修改、删除、等操作,建议使用POST
(一般取决于公司给你的开发文档按需求驱动选择)
发送HTTP请求的方法
1.在HTTP/1.1协议中,定义了8中请求的方式
具体介绍如下:
OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送’*’的请求来测试服务器的功能性。
HEAD:向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。
GET:向特定的资源发出请求。
POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的创建和/或已有资源的修改。
PUT:向指定资源位置上传其最新内容。
DELETE:请求服务器删除Request-URI所标识的资源。
TRACE:回显服务器收到的请求,主要用于测试或诊断。
CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
虽然HTTP的请求方式有8种,但是我们在实际应用中常用的也就是GET和POST,其他请求方式也都可以通过这两种方式间接的来实现。
/** * POST 请求 */ - (IBAction)landingBoat:(id)sender { // 本地判断 if (self.userView.text.length == 0) { [MBProgressHUD showError:@"用户为空"]; return; } if (self.passWordView.text.length == 0) { [MBProgressHUD showError:@"密码为空"]; return; } // 创建一个URL 请求路径 NSURL* URL = [NSURL URLWithString:@"http://127.0.0.1:8080/Server/login"]; // 创建一个请求体 NSMutableURLRequest* urlRequest = [NSMutableURLRequest requestWithURL:URL]; // 请求格式,默认为GET urlRequest.HTTPMethod = @"POST"; // 设置请求参数 NSString* patch = [NSString stringWithFormat:@"username=%@&pwd=%@",self.userView.text,self.passWordView.text]; // string 转 Data urlRequest.HTTPBody = [patch dataUsingEncoding:NSUTF8StringEncoding]; // 发送同步请求,主线程操作 NSOperationQueue* queue = [NSOperationQueue mainQueue]; [NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { //判断结果 if (data==nil || connectionError!=nil) { [MBProgressHUD showSuccess:@"网络繁忙。"]; return; } //解析Json NSDictionary* stay = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil]; NSString* error = stay[@"error"]; if (error) { [MBProgressHUD showError:error]; }else { NSString* success = stay[@"success"]; [MBProgressHUD showSuccess:success]; } }]; }
- iOS网络编程 get post 区别
- iOS网络编程 get post 区别
- iOS网络编程post和get实例 区别
- iOS网络编程 GET和POST
- 网络编程之POST和GET区别
- ios网络请求 get——post 区别
- ios网络请求 get——post 区别
- 深度解析ios网络请求 get——post 区别
- ios网络请求 get——post 区别
- ios网络请求 get——post 区别
- ios网络请求 get——post 区别
- IOS网络篇:GET和POST的区别
- ios网络请求 get——post 区别
- iOS 开发 中级:HTTP请求 GET POST 网络编程实现
- IOS网络编程基础——GET 以及 POST
- iOS 开发 中级:HTTP请求 GET POST 网络编程实现
- iOS 开发 中级:HTTP请求 GET POST 网络编程实现
- IOS HTTP请求 GET POST 网络编程实现
- centos eclipse创建web 项目
- javascript 脚本执行消耗时间 time、timeEnd
- 超简洁的js获取地址栏参数方法
- HDU3466(背包先后顺序)
- 让JS 调试更简单的 Console 命令
- iOS网络编程 get post 区别
- Java中HashMap遍历的两种方式
- redis的介绍及使用
- java中set接口使用方法详解
- android异步查询 sqlitehelper contentprovider loader
- ubuntu can't add add-apt-
- 单链表 - 循环链表,静态链表
- OpenGL坐标系之间的转换
- Android TabLayout 分分钟打造一个滑动标签页