网络请求相关

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的转码处理
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,721评论 2 7
  • iOS网络编程读书笔记 Facade Tester客户端门面模式的实例(被动版本化) 被动版本化,所以硬编码URL...
    melouverrr阅读 1,626评论 3 7
  • 同步请求可以从因特网请求数据, 一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成, 才可以进行下一步操...
    小灬博阅读 894评论 2 4
  • 常用类 NSURL:请求地址 NSURLRequest:一个NSURLRequest对象就代表一个请求,它包含的信...
    JonesCxy阅读 1,009评论 0 1
  • JSON JSON和XML都是需要解析的 JSON是一种轻量级的数据格式,一般用于数据交互服务器返回给客户端的数据...
    JonesCxy阅读 1,876评论 2 10