快好知 kuaihz

app使用什么网络协议

网络协议是现如今上网最需要的,因为它的出现能够保证我们的上网安全,那么app使用什么网络协议?了解网络安全常识,首先就要了解计算机网络安全有哪些基本注意事项,下面本站小编就带您认识一下吧。

1、网络传输协议-XML

xml是一种最早的网络传输协议,常见于Java web开发中,不单单作为网络层的参数协议,还常见于各种配置文件中,在移动开发中也常见但是已不是主流的网络传输协议。

优点:可读性强,解析方便;

缺点:效率不高,资源消耗过大;

解析方式:DOM解析,SAX解析,PULL解析;

(1)DOM解析:

解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以使用 DOM 接口来操作这个树结构。优点:整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能;缺点:将整个文档调入内存(包括无用的节点),浪费时间和空间;使用场合:一旦解析了文档还需多次访问这些数据;硬件资源充足(内存、CPU);

(2)SAX解析:

SAX ,事件驱动型解析方式。当解析器发现元素开始、元素结束、文本、文档的开始或结束等时,发送事件,程序员编写响应这些事件的代码,保存数据。优点:不用事先调入整个文档,占用资源少;SAX解析器代码比DOM解析器代码小,适于Applet,下载。缺点:不是持久的;事件过后,若没保存数据,那么数据就丢了;无状态性;从事件中只能得到文本,但不知该文本属于哪个元素;使用场合:Applet;只需XML文档的少量内容,很少回头访问;机器内存少;

(3)PULL解析:

PULL解析方式是Android专门为移动设备上解析XML文件而设计的一种解析方式,显而易见的其更加适用于移动设备解析xml文件。Pull解析和Sax解析很相似,Pull解析和Sax解析不一样的地方是pull读取xml文件后触发相应的事件调用方法返回的是数字还有pull可以在程序中控制想解析到哪里就可以停止解析。

2、网络传输协议-JSON

JSON是在移动端比较常见的网络传输协议,它较xml格式更叫的简单和“小”,因此比xml更适合移动端对流量和内存的控制。

优点:较XML格式更加小巧;

缺点:传输效率也不是太别高,但相较于xml提高了很多;

解析方式:Gson解析,JSONObject方式解析,FastJson解析

(1)Gson解析:

Gson解析方式是Google开源的一套解析方式,通过提供的Gson jar包,通过静态方法直接由字符串解析成Java对象,简单方便。

具体使用方法,可参考:Google Gson 使用简介

(2)JSONObject解析:

JSONObject在org.json下面的包中,其也是一个解析Json字符串的工具类,具体使用方式可参考:JSONObject与JSONArray的使用

(3)FastJson解析:

FastJson是阿里巴巴开源的一个解析Json数据的类库,能够将json字符串解析成java对象。

3、网络传输协议-ProtoBuf

ProtoBuf是Google开源的一套二进制流网络传输协议,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、Go 和Python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。

优点:传输效率快(比xml和json快10-20倍),文档型协议;

缺点:使用不太方便;

这里简单解释一下什么是文档型协议,向我们的xml和json一般在使用的时候都需要保存一份说明文档和一个实际的java类,而protobuf在使用的时候其定义的格式就是说明文档,简单明了而且可以将其编译成各个平台的类库,以java平台为例,其编程成jar之后,若定义文件发生了变化,则在使用jar包的话就会报错,必须重新编译,这也就保证了App端与服务器端的协议统一性。

关于网络安全小知识,本站小编为您介绍和普及这么多了,看完上面的介绍,您对“app使用什么网络协议”这个问题了解多少了呢?app在我们的生活中是很常见的,也是使用最广泛的,所以它的网络协议对于我们的上网而言很重要。


本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:app使用什么网络协议  协议  协议词条  使用  使用词条  什么  什么词条  网络  网络词条  app  app词条