在我们的日常学习过程中会发现,java中关于网络安全的知识也是非常多的,这也是在我们面试的时候很有可能会遇到的问题。一起来看看吧。
首先要为大家简述的就是TCP与UDP的区别。
一、TCP面向连接(如打电话要先拨号建立连接)提供可靠的服务;UDP是无连接的,即发送数据之前不需要建立连接,;UDP尽最大努力交付,即不保证可靠交付。
二、由于UDP无需建立连接,因此UDP不会引入建立连接的时延,TCP需要在端系统中维护连接状态,比如接受和发送缓存,拥塞控制,序号与确认号的参数等,故TCP会比UDP慢。
三、UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。
四、每一条TCP连接只能是一对一的;UDP支持一对一,一对多,多对一和多对多的交互通信。
五、UDP分组首部开销小,TCP首部开销20字节;UDP的首部开销小,只有8个字节。
六、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的,一次交付一个完整的报文,报文不可分割,报文是UDP数据报处理的最小单位。
七、UDP适合一次性传输较小数据的网络应用,如DNS,SNMP等
那么,GET和POST的区别在哪里呢?
一、get是获取数据,post是修改数据
二、get把请求的数据放在url上,以?分割URL和传输数据,参数之间以&相连,所以get不太安全。而post把数据放在HTTP的包体内(requrest body)
三、get提交的数据最大是2k( 限制实际上取决于浏览器), post理论上没有限制。
四、GET请求会被浏览器主动缓存,而POST不会,除非手动设置。
五、GET是幂等的,而POST不是幂等的。
六、GET产生一个TCP数据包,浏览器会把http header和data一并发送出去,服务器响应200(返回数据); POST产生两个TCP数据包,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。
可以看出它们之间的区别还是很明显的,这也方便大家更好的区分和掌握这些知识。如果你想要了解更多的java常见问题,敬请关注奇Q工具网。
推荐阅读: