笔试面试之-网络请求

什么是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认证
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,973评论 19 139
  • 网络 http请求方式? 通常,HTTP的请求方式有3种,分别是:POST、GET、HEAD。POST和GET方法...
    b485c88ab697阅读 7,252评论 1 36
  • 1、OC中创建线程的方法是什么?如果指定在主线程中执行代码?如何延时执行代码。【难度系数★★】 1)创建线程的方法...
    木旁_G阅读 1,993评论 2 16
  • 13.服务器图片改了,url没有变,需求,服务器的图片变了,就从服务器加载图片,如果服务器的没变,就从本地加载 1...
    AlanGe阅读 1,222评论 0 1
  • 三根火柴,点亮家庭未来!我是peter刘小权,今天跟大家分享的是如何应对孩子说谎 我们希望自己的孩子拥有诚实的品质...
    刘小权PCC认证教练阅读 262评论 0 2