iOS碎碎念

网络请求相关

2017-08-09  本文已影响3人  tiGress

get 和post 的主要区别体现在数据传递上,

get:在请求的URL后面以?的形式跟上发给服务器的参数,多个参数之间用&隔开。由于服务器和浏览器对URL的长度有限制,因此在URL后面附带的参数是有限制的,通常不能超过1kb.

post:发送服务器的参数全部放在请求体中,理论上,post传递的参数是没有限制的。

post和get 的选择。

1.如果要传递大量数据,比如文件上传,用post

2.get 的安全性比post的差,如果包含机密敏感信息,用post

3.如果仅仅是索取数据,建议使用get

4.如果是增加删除修改数据,建议用post

get请求是没有请求体的。

一个完整的http请求包含响应头和响应体

响应头:包含了对服务器的描述,对返回数据的描述。

server :服务器的类型

Content-Type:返回数据的类型

Content-Length:返回数据的长度

Date:响应的时间

响应体:服务器返回给客户端的具体数据。比如文件的数据。

常见的响应状态码:

200:请求成功

400:客户端请求的语法错误,服务器无法解析

404:服务器无法根据客户端的请求找到资源

500:服务器内部错误,无法完成请求。

iOS中发送http请求的方案

1.苹果原声的

a.NSURLConnection:用法简单,最古老经典的。

b.NSURLSession:ios7新出,苹果推荐

c.CFNetwork: NSURL*的底层,纯c语言

2.第三方框架

a.ASIHttpRequest:已停止更新。

b.AFNetworking:简单易用。

c.MKNetworkKit:简单易用,使用和维护者少

a.NSURLConnection的使用

常用类:

1. NSURL :请求地址

2.NSURLRequest:一个NSURLRequest对象就代表一个请求,它包含的信息有

a.一个NSURL对象

b.请求方法,请求头,请求体

c.q请求超时....

3.NSMunableURLRequest:NSURLRequest的子类

4.NSURLConnection

负责发送请求,建立客户端和服务器的连接

发送数据给服务器,并收集来自服务器的响应数据。

5.NSURLConnection的使用步骤

a.创建一个NSURL对象,设置请求路径

b.根据传入的NSURL创建一个NSURLRequest请求对象,设置请求头和请求头。

c.使用NSURLConnection发送请求

1.NSURLConnection发送get的同步请求 2.NSURLConnection发送get异步请求 3.NSURLConnection代理get的方式 4.NSURLConnection 的post请求

另外,需要注意的是,URL不能有中文,需要做转码处理。n

5.URL的转码处理
上一篇 下一篇

猜你喜欢

热点阅读