HTTP的通信的 发送请求、接收响应 包含哪些内容?OC中是怎样实现的?
请求:
一个请求包含以下内容:
请求行:包含了请求方法、请求资源路径、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 // 客户端支持的数据压缩格式
请求体:
客户端发给服务器的具体数据,比如文件数据
OC中请求用NSURLRequest
NSURLRequest
发送给服务器的请求包含:
请求行:包含了请求方法、请求资源路径、HTTP协议版本
请求头: 对客户端的环境描述、客户端请求的主机地址等信息
请求体: 客户端发给服务器的具体数据
默认超时时常:60s
响应:
一个响应包括:
状态行:包含了HTTP协议版本、状态码、状态英文名称
HTTP/1.1 200OK
响应头:包含了对服务器的描述、对返回数据的描述
Server:Apache-Coyote/1.1 // 服务器的类型
Content-Type:image/jpeg // 返回数据的类型
Content-Length:56811 // 返回数据的长度
Date: Mon, 23Jun 2014 12:54:52 GMT // 响应的时间
实体内容:服务器返回给客户端的具体数据,比如文件数据
OC中响应用NSURLRespose
NSURLRespones
返回给客户端的回应包含:
状态行 : 包含了HTTP协议版本、状态码、状态英文名称
响应头 : 包含了对服务器的描述、对返回数据的描述
实体内容:服务器返回给客户端的具体二进制数据
常用属性: expectedContentLength (下载时返回文件的长度)
suggestedFilename(建议保存的文件名)