什么是HTTP协议?
HTTP(HyperText Transfer Protocol),超文本传输协议,是互联网上应用最广泛的一种网络协议。它规定了客户端—服务器之间的数据传输格式。
HTTP协议的特点?
- 简单快速:HTTP协议简单,通信速度很快
- 灵活:允许传输任意类型的数据
- 短连接:每次连接只处理一个请求,服务器对客户端的请求作出响应后,马上断开连接.这种方式可以节省传输时间.
什么是HTTPS
HTTPS(Secure Hypertext Transfer Protocol) 安全超文本传输协议。它使用安全套接字层(SSL)进行信息交换,简单来说他是http的安全版。
GET请求和POST请求的区别?
- GET请求:用于从服务端获得数据,请求参数拼接在URL后面,所以安全性相对不是很高。
- POST请求:给服务器数据,比如上传文件。请求参数在http的body中,所以相对更安全。
除了POST,GET请求,你还知道哪些请求方法?
OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT、PATCH。
HTTP状态码?
1xx 消息 比如100 Continue
2xx成功
3xx 重定向
4xx客户端请求错误 比如常见的404 Not Found
5xx和6xx服务器错误 500 Internal Server Error 600 Unparseable Response Headers
TCP/UDP区别联系
- 二者都是OSI(七层模型)中的传输层协议。
TCP的全称为传输控制协议 这种协议可以提供面向连接的、可靠的、点到点的通信 - UDP的全称为用户数据报协议,它可以提供非连接的不可靠的点到多点的通信
- 用TCP还是UDP,那要看你的程序注重南一方面? 可靠还是快速?
Socket 连接和HTTP连接的区别
Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
- http连接: http连接就是所谓的短连接,即客户端向服务器端发送一次请求,服务器端响应后连接即会断掉;
- socket连接: socket连接就是所谓的长连接,理论上客户端和服务器端一旦建立起连接将不会主动断掉
什么是TCP连接的三次握手?
- 发送方主机向接收方主机发起一个建立连接的的同步(SYN)请求
- 接收方主机收到这个请求向发送主机回复一个同步确认(SYN/ACK)应答
- 发送方主机收到此包后再向接收方主机发送一个确认(ACK)此时,TCP连接成功。
什么是JSON?什么是XML?
- JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
- XML可扩展性标记语言,XML 被设计用来传输和存储数据.
JSON的格式是什么样子的?XML呢?分别用Json和xml组织以下示例的数据:
用户1 名字:张三 年龄:20 性别:男 邮箱:123@qq.com
用户2 名字:李四 年龄:28 性别:女 邮箱:456@qq.com
JSON是一种类似于字典的键值对形式:
(
用户1:{名字:张三,年龄:20,性别:男,邮箱:123@qq.com}
用户2:{名字:李四 ,年龄:28 , 性别:女 , 邮箱:456@qq.com}
)
XML是自定义的标签对形式。
json数组的表示格式是 中括号“[”,“]”,但是在我们输出的时候,系统会转换成为小括号。
xml格式:
<xml>
<users>
<user>
<name> 张三</name>
<age> 20 </age>
<sex> 男 </sex>
<email> 123@qq.com</email>
</user>
<user>
<name> 李四</name>
<age> 28 </age>
<sex> 女 </sex>
<email> 456@qq.com</email>
</user>
</users>
</xml>
xml数据的解析方式,各有什么不同,json解析有哪些框架
- xml数据有两种解析方式:DOM 与SAX。
- DOM解析必须先完成 DOM树的构造,在处理规模较大的xml文档很耗内存,占用资源较多
- SAX他是用事件驱动模型,解析xml文档时没遇到一个开始或结束标签或属性、或一条指令时,程序就产生一个事件来进行响应的处理,因此,SAX相对于DOM来说更适合操作大的xml文档。
- Json解析现在性能比较好的主要是第三方JsonKit、iOS自带和SBJson,JsonKit解析性能是最高的,但是只能是ios5之后才可以使用;iOS5之前一般使用SBJson
第三方开源网络框架各有什么特点
ASIHTTPRequest
出来比较早、功能强大,在MRC下实现的,是对系统的CFNetworking API进行了封装,支持HTTP协议的CFHTTP,配置比较复杂。已经停止更新。
缺点:没有网络监听功能。AFNetWorking
构建于NSURLConnection、NSURLSession NSOperation以及其他熟悉的Foundation技术之上。拥有良好的架构,丰富的API及模块构建方式,使用起来非常轻松。它基于NSOperation封装的,AFURLConnectionOperation子类。更新非常及时,MKNetWorking
支持arc、一个印度大卡写的。但我没有用过。
ASI网络框架有哪些功能?
- ASI是款极其强劲的HTTP访问开源框架;
- 功能:异步请求 队列请求 gzip压缩 缓存 断点续传 进度跟踪 上传文件 HTTP认证