- HTTPS:HTTP+SSL(证书)
端口:443
通讯方式:客户端发送HTTP给服务器,服务器返回SSL给客户端,以后客户端每次发送HTTP请求给服务器都需要使用SSL证书进行加密,服务器在进行解密获取HTTP请求。
SSL申请网站:http://cn.globalsign.com
费用:个人(¥1980)企业(¥3980)
HTTP端口:80
URL:Uniform Resource Locator(统一资源定位)
互联网上每1个资源,都有1个唯一的URL
URL格式:协议://主机地址/路径
- http://CoderJackieYip.com/img/logo.png
- 协议:代表资源的查找方式、传输方式
- 主机地址:存放资源的主机(服务器)的IP地址(域名)
- 路径:次资源在主机(服务器)中的具体位置
- URL中常见协议:
- HTTP:格式
http://
(网络开发中最常用的协议,目前最新版本1.1可以长连接,以前的0.9、1.0版本仅是短连接的)- file:格式
file://
(不用主机地址)- mailto:格式
mailto://
(访问的是电子邮件地址)- FTP:格式
ftp://
(访问的是共享主机的文件资源)
- HTTP通信2大步骤
- 请求
- 请求方法8种,其中2种常用
- GET:查(常用)
- POST:改(常用)
- OPTIONS
- HEAD
- PUT:增
- DELETE:删
- TRACE
- CONNECT
- PATCH
- GET 和 POST对比
- GET参数:添加在URL后面
- GET参数大小:限制1KB
- POST参数:存放在请求体中
- POST参数数据大小:没限制(具体看服务器处理能力)
- GET 和 POST 的选择
- 传输大数据、安全性数据、增、删、改数据,用POST
- 查数据用GET
- 响应
- iOS中HTTP请求的方案
- 苹果原生
- NSURLConnection:NSURLSession功能比它强大,苹果建议使用NSURLSession
- NSURLSession:2013年iOS7时推出
- CFNetwork:NSURL*底层,纯C语言
- 第三方框架
- ASIHttpRequest:外号“HTTP终结者”
- AFNetworking
- MKNetworkKit:印度人开发,维护和使用较少
- HTTP通信过程
- 请求
- 请求头:包含对客户端环境描述、请求信息等
// 请求方法、资源路径、HTTP版本 GET /minion.ng HTTP/1.1 // 服务器主机地址:端口号 Host:120.25.226.186/:32812 // 客户端类型,客户端软件环境 User-Agent:Mozilla/5.0 // 客户端所能接收的数据类型 Accept:text/html,*/* // 客户端的语言环境 Accept-Language:zh-cn // 客户端支持的数据压缩格式 Accept-Encoding:gzip
- 请求体:客户端发给服务器的具体数据(仅POST请求才有)
- 响应
- 响应头:包含对服务器的描述,对返回数据的描述
// 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
- 响应体:服务器返回给客户端的具体数据
- 响应状态码
- 200:OK 请求成功
- 400:Bad Request 客户端请求的语法错误,服务器无法解析
- 404:Not Found 服务器无法根据客户端的请求找到资源
- 500:Internal Server Error 服务器内部错误,无法完成请求