这是我个人的学习笔记 , 如有不同见解欢迎评论交流 .
( 我的微博 : http://weibo.com/JohnnyB0Y )
HTTP 1.1 介绍
一个建立在TCP之上的通过HTML定义的超文本传输协议.
-
HTTP请求与响应的步骤
1.C端建立一个到S端的TCP连接,然后发送HTTP请求.
2.S端随后通过在同一个TCP连接上发送一个HTTP响应来响应请求.
3.C端接着可以重用这个TCP连接,发送另一个请求或将连接关闭.
-
HTTP与HTTPS的区别
1.两者主要差别在于会话的连接建立阶段.
2.在TCP连接建立好,HTTP请求发送前( 加入建立一个SSL会话 ),用于C端与S端协商使用何种密码,交换公钥,验证协商以及验证身份(可选).
3.当SSL会话建立完毕后,在TCP连接之上传输的所有数据都是加密的.
-
HTTP请求内容
1.请求行: 包含了( HTTP请求方法 )( 请求URI )( HTTP版本 )三方面信息.
2.请求头: 向服务器提供额外的元数据.
3.请求体: 可选的有固定数据编码格式的数据.
-
HTTP响应内容
1.状态行: 包含了( HTTP版本 )( 状态码 )( 文本说明 )三方面信息.
2.响应头: 服务器响应的元数据.
3.响应体: 服务器返回的有固定数据编码格式的数据.
网络请求方式 :
NSURLConnection | 方法步骤 |
---|---|
GET请求 : | |
1. 创建URL地址字符串 | |
2. 拼接参数 | |
3. URL字符串进行百分号编码 | |
4. 生成URL对象 | |
5.根据URL对象创建请求,并设置请求参数 | |
6. 开始连接,发送请求 | |
POST请求 : | |
1. 创建URL地址字符串 | |
2. URL字符串进行百分号编码 | |
3. 生成URL对象 | |
4.根据URL对象创建请求,并设置请求参数 | |
5.拼接HTTPBody : 参数表 | |
6. 开始连接,发送请求 | |
通过代理方法处理网络请求 : | |
1.接收到服务器响应后 ( 做拼接数据前的准备 ) | - connection: didReceiveResponse: |
2.接收到数据后 ( 拼接数据 ) | - connection: didReceiveData: |
3.接收数据完成 | - connectionDidFinishLoading: |
4.错误处理 | - connection: didFailWithError: |