IOS网络篇:HTTP的通信过程
来源:互联网 发布:通信网络代维资质 编辑:程序博客网 时间:2024/05/20 07:15
HTTP通信过程 ---- 请求
具体过程
1. HTTP协议规定:一个完整的由客户端发给服务器的HTTP请求中包含以下内容
A - 请求行:包含了请求方法,请求资源路径,HTTP协议版本
GET /Server/resource/images/1.jpg HTTP/1.1
B - 请求头:包含了对客户端的环境描述、客户端请求的主机IP地址、等信息。如(IPHONE客户端,IPA客户端,MAC客户端)
Host:192.168.1.254:8080 //客户端想访问的主机服务器地址
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:43.0) Gecko/20100101 Firefox/43.0 //客户端环境类型
Accept: text/html,(缺省) //客户端环境能接收的数据类型
Accept-Encoding //客户端支持数据的压缩格式
Accept-Language //客户端语言环境
C - 请求体:客户端发给服务器的具体数据,比如文件数据等、
Referer: http://127.0.0.1:8080/Server/
2.总上所述:GET是把所有参数放到URL后面,POST是把所有参数放到请求体里面。
HTTP通信过程 ---- 响应
客户端向服务器发送请求,服务器应当做出相应操作,及时返回数据给客户端。
1:HTTP协议规定: 一个完整的HTTP响应包含以下内容
A - 状态行:包含了HTTP协议版本、状态码、状态英文名称
常见错误状态码
B - 响应头:包含了对服务器的描述、对返回数据的描述
Server: Apache - coyote/1.1 //服务器的类型
Content-Type: image/jpg //返回的数据类型
Content-Length:56811 //返回数据长度
Data: Mon,23 Jun 2014 12:54:52 CMT //响应时间
C - 实体内容:服务器返回给客户端的具体数据,比如文件数据
开发中真正打交道的其实是实体内容
例:
<span style="font-size:18px;"><span style="font-size:18px;color:#CC0000;">[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { // 取出状态码 NSInteger status = ((NSHTTPURLResponse*)response).statusCode; // 取出响应字符串 NSString* msg = [NSHTTPURLResponse localizedStringForStatusCode:status]; //这里的data才是实体数据,而响应头存在response里 //这些信息一般适用于文件下载时。 }];</span></span>
1 0
- IOS网络篇:HTTP的通信过程
- ios 网络通信过程cookie的使用
- iOS的网络通信
- http通信的详细过程
- HTTP通信的具体过程
- ios---socket、http以及网络通信
- iOS网络通信http之NSURLConnection
- iOS网络通信http之NSURLConnection
- iOS网络通信http之NSURLConnection
- iOS网络通信http之NSURLConnection
- iOS网络通信http之NSURLConnection
- iOS网络通信http之NSURLConnection
- iOS网络通信http之NSURLConnection
- ios---socket、http以及网络通信
- ios网络通信及http简述
- iOS网络通信http之NSURLConnection
- Android的Http网络通信
- 通信网络的演进过程
- BWA软件安装和使用
- 面向对象(一)
- Lua中and、or的一些特殊用法
- 【Unity】persp和iso两种模式的区别
- leetcode总结 -- 收缩window
- IOS网络篇:HTTP的通信过程
- leetcode|Valid Number(65)
- iOS 自定义navigationBar上得字体属性
- 软件测试_JMeter自动化测试工具2_Jmeter压力测试(简单的http请求)-实例
- UITextField修改placeHolder颜色
- Android - 资源的定义和引用
- 【杭电oj】1090 - A+B for Input-Output Practice (II)
- 面试题52:不能被继承的类
- 如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion