2015.9.28-http协议
http协议
url:统一资源定位符
互联网上每个资源唯一的地址
一,常见协议
http:超文本传输协议,访问远程网络资源,最常用的网络协议
file:本地计算机资源
mailto:电子邮件地址
ftp:共享主机文件资源
二,http协议作用
三,http协议优势
简单快速,通信速度快,允许传输任意类型数据,无状态每次响应一个请求都立即断开
四,http通信过程
1.请求
请求行 : 请求方法,请求路径,http协议版本
GET /MJServer/resources/images/1.jpg HTTP/1.1
请求头 : 客户端环境描述,客户端请求的主机地址等信息
Host: 192.168.1.105:8080 // 客户端想访问的服务器主机地址
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9) Firefox/30.0// 客户端的类型,客户端的软件环境
Accept: text/html, */*// 客户端所能接收的数据类型
Accept-Language: zh-cn // 客户端的语言环境
Accept-Encoding: gzip // 客户端支持的数据压缩格式
请求体 : 客户端给服务器的具体数据
2.响应
状态行 : http协议版本,状态码,状态英文名
HTTP/1.1 200 OK
响应头 : 服务器环境描述,返回数据的描述
Server: Apache-Coyote/1.1 // 服务器的类型
Content-Type: image/jpeg // 返回数据的类型
Content-Length: 56811 // 返回数据的长度
Date: Mon, 23 Jun 2014 12:54:52 GMT // 响应的时间
实体内容 : 服务器返回给客户端的具体数据
五,常见响应状态码
1xx临时响应
2xx请求成功
3xx重定向
4xx失败
5xx服务器错误
六,常用请求方法
get,delete,post,put
get和post区别在与数据传递
get请求在url后边加传给服务器的参数
用&隔开,通常不超过1kb,由于是在url中传递,并不安全
post请求在请求体中传递参数,没有长度的限制
增删改用post,查用get
七,ios中的发送请求方案
1.ios自带
NSURLConnection:最基本,最简单的方案
NSURLSession:ios7的新技术
CFNetwork:NSURL*的C语言底层
2.第三方
ASIHTTPRequest:功能强大,已停止更新
AFNetworking:常用
3.ASI和AFN架构对比
说明:AFN基于NSURL,ASI基于CFHTTP,ASI的性能更好一些。