导读:大部分APP都依赖于网络通讯,对于开发者来讲,基于网络通讯的开发无疑是必须掌握的。HTTP通讯做为目前计算机主要的通讯协议,是企业面试当中必问的。对于HTTP通讯的概念,本文不做说明,我将在后续的文章中详细介绍。本文主要讲讲热点问题,就是HTTP网络请求中GET和POST方法的区别。面试
- 缓存是针对URL来进行缓存的,GET请求因为其参数是直接加在URL上-的,一种参数组合就有一种URL的缓存,能够根据参数来进行一一对应,重复请求是幂等的(不论请求多少次,结果都同样);
- 而POST请求的URL没有参数,每次请求的URL都相同,数据体(HTTPBody)可能不一样,没法一一对应,因此缓存没有意义
POST的安全是相对的,对于普通用户来讲他们看不到明文,数据封装对他们来讲就是屏障。可是对于专业人士,它们会抓包会分析,没有加密的数据包对他们来讲也是小case。因此POST仅仅是相对安全,惟有对数据进行加密才会更安全。固然加密也有被破解的可能性,理论上全部的加密方式均可以破解,只是时间长短的问题。而加密算法要作的就是使得破解须要的时间尽可能长,越长越安全。因为咱们也须要解密,加密算法太过复杂也并不是好事,这就要结合使用状况进行折中或者足够实际使用便可。绕的有点远,具体的话,我将在后续的文章之中介说起,并介绍一些经常使用的加密算法。算法
HTTP协议中均没有对GET和POST请求的数据大小进行限制,可是实际应用中它们一般受限于软硬件平台的设计和性能。后端