Http 和 Https区别
安全性:
http是HTTP协议运行在TCP之上。所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份。
https是HTTP运行在SSL/TLS之上,SSL/TLS运行在TCP之上。所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。此外客户端可以验证服务器端的身份,如果配置了客户 端验证,服务器方也可以验证客户端的身份。证书
https协议需要到ca申请证书,一般免费证书很少,需要交费。传输协议
http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议端口
http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。
PS: SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
GET和POST的区别?
最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数
- GET 用于获取信息,是无副作用的,是幂等的,且可缓存
- POST 用于修改服务器上的数据,有副作用,非幂等,不可缓存
GET和POST还有一个重大区别
- GET产生一个TCP数据包;POST产生两个TCP数据包。
对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据) - 而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)
有一篇非常精辟的解读 GET和POST两种基本请求方法的区别
TCP 和 UDP 的区别
- TCP 是面向连接的,UDP 是面向无连接的
- UDP程序结构较简单
- TCP 是面向字节流的,UDP 是基于数据报的
- TCP 保证数据正确性,UDP 可能丢包
- TCP 保证数据顺序,UDP 不保证
因为TCP是面向连接所以有三次握手而UDP没有哦~
应用场景选择
对实时性要求高和高速传输的场合下使用UDP;在可靠性要求低,追求效率的情况下使用UDP
需要传输大量数据且对可靠性要求高的情况下使用TCP
这篇文章写的,um 感觉非常易懂
关于面试中的TCP和UDP怎么用自己的话给面试官说