1.http请求方式?
HTTP的请求方式有3种,分别是:POST、GET、HEAD。
POST和GET方法是用于数据发送的。
POST
将要发送的数据单独放在一个流中进行发送,而不是附加在URL地址后面,这样做的好处是这些数据不会出现在URL地址中。
GET
将要发送的数据直接添加在URL后面,如:www.sina.com.cn?username=”“&password=”“,这样的好处是可以直接将数据加在URL后,而不需在用另外的流来发送这些数据,但是缺点也显而易见,它将用户的信息显示出来了。
HEAD
请求资源的元数据方法。在具体的应用中,我暂时还没遇到过,也不去对它进行研究,需要是在学习。
2.Http定义了与服务器交互的不同方法,最基本的方法有?
URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。
GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。
3.App需要加载超大量的数据,给服务器发送请求,但是服务器卡住了如何解决?
1> 设置请求超时
2> 给用户提示请求超时
3> 根据用户操作再次请求数据
4.HTTP的通信的 发送请求、接收响应 包含哪些内容?OC中是怎样实现的?
1)请求:一个请求包含以下内容:
2)请求行:包含了请求方法、请求资源路径、HTTP协议版本
GET /XXServer/resources/images/1.jpg HTTP/1.1
3)请求头:包含了对客户端的环境描述、客户端请求的主机地址等信息
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 // 客户端支持的数据压缩格式
4)请求体:客户端发给服务器的具体数据,比如文件数据
5)OC中请求NSURLRequest
发送给服务器的请求包含:
请求行: 包含了请求方法、请求资源路径、HTTP协议版本
请求头: 对客户端的环境描述、客户端请求的主机地址等信息
请求体: 客户端发给服务器的具体数据
默认超时时常:60s
6)响应:
一个响应包括:
状态行:包含了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 // 响应的时间
实体内容:服务器返回给客户端的具体数据,比如文件数据
OC中响应用NSURLRespose:返回给客户端的回应包含:
状态行 : 包含了HTTP协议版本、状态码、状态英文名称
响应头 : 包含了对服务器的描述、对返回数据的描述
实体内容:服务器返回给客户端的具体二进制数据
常用属性: expectedContentLength (下载时返回文件的长度)
suggestedFilename(建议保存的文件名)
5.http 的post与get区别与联系,实践中如何选择它们?
6.HTTP协议的特点,关于HTTP请求GET和POST的区别?
HTTP协议的特点:
- HTTP超文本传输协议,是短连接,是客户端主动发送请求,服务器做出响应,服务器响应之后,链接断开。HTTP是一个属于应用层面向对象的协议,HTTP有两类报文:请求报文和响应报文。
- HTTP请求报文:一个HTTP请求报文由请求行、请求头部、空行和请求数据4部分组成。
- HTTP响应报文:由三部分组成:状态行、消息报头、响应正文。