文章目录
- 一、HTTP与HTTPS的区别
- 二、对称加密和非对称加密
- 三、什么是数字证书
- 四、DNS 解析过程
- 五、TCP和UDP的区别
- 六、TCP 和 UDP 对应的应用场景是什么
- 七、HTTP的特点
一、HTTP与HTTPS的区别
- HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的ssl加密传输协议。
- HTTP和HTTPS用的端口不一样,前者是80,后者是443。
- HTTPS协议需要到CA机构申请证书,一般免费证书较少,因而需要一定费用。
- HTTP运行在TCP协议之上;HTTPS运行在SSL协议之上,SSL运行在TCP协议之上。
HTTP协议以明文方式发送内容,不提供任何方式的数据加密,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。而HTTPS协议是由SSL+HTTP协议构建的可进行身份认证(非对称加密)、加密传输(对称加密)的网络协议。SSL作用在应用层和运输层之间,在TCP之上建立起一个安全通道,确保数据传输安全。
二、对称加密和非对称加密
-
对称加密:通信双方使用相同的密钥进行加密。特点是加密速度快,但是缺点是需要保护好密钥,如果密钥泄露的话,那么加密就会被别人破解。常见的对称加密有AES,DES算法。
-
非对称加密:它需要生成两个密钥:公钥和私钥。公钥是公开的,任何人都可以获得,而私钥是私人保管的。我们提交代码到github的时候,就可以 *** H key:在本地生成私钥和公钥,私钥放在本地.ssh目录中,公钥放在github网站上,这样每次提交代码,就不用输入用户名和密码了,github会根据网站上存储的公钥来识别我们的身份。公钥负责加密,私钥负责解密;或者私钥负责加密,公钥负责解密。这种加密算法安全性更高,但是计算量相比对称加密大很多,加密和解密都很慢。常见的非对称算法有RSA。
三、什么是数字证书
服务端可以向证书颁发机构CA申请证书,以避免中间人攻击(防止证书被篡改)。证书包含三部分内容:tbsCertificate(to be signed certificate)待签名证书内容、证书签名算法和CA给的签名(使用证书签名算法对tbsCertificate进行哈希运算得到哈希值,CA会用它的私钥对此哈希值进行签名,并放在签名部分)。签名是为了验证身份。
四、DNS 解析过程
- 浏览器搜索自己的DNS缓存。
- 若没有,则搜索操作系统中的DNS缓存和hosts文件。
- 若没有,则操作系统将域名发送至本地域名服务器,本地域名服务器查询自己的DNS缓存,查找成功则返回结果,否则依次向根域名服务器、顶级域名服务器、权限域名服务器发起查询请求,最终返回IP地址给本地域名服务器。
- 本地域名服务器将得到的IP地址返回给操作系统,同时自己也将IP地址缓存起来。
- 操作系统将 IP 地址返回给浏览器,同时自己也将IP地址缓存起来。
- 浏览器得到域名对应的IP地址。
五、TCP和UDP的区别
- TCP面向连接;UDP是无连接的,即发送数据之前不需要建立连接。
- TCP提供可靠的服务;UDP不保证可靠交付。
- TCP面向字节流,把数据看成一连串无结构的字节流;UDP是面向报文的。
- TCP有拥塞控制;UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)。
- 每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信。
- TCP首部开销20字节;UDP的首部开销小,只有8个字节。
六、TCP 和 UDP 对应的应用场景是什么
TCP 是面向连接,能保证数据的可靠性交付,因此经常用于:
- FTP文件传输。
- HTTP / HTTPS。
UDP 面向无连接,它可以随时发送数据,再加上UDP本身的处理既简单又高效,因此经常用于:
- 包总量较少的通信,如 DNS 、SNMP等。
- 视频、音频等多媒体通信。
- 广播通信。
七、HTTP的特点
- 灵活:HTTP允许传输任意类型的数据。传输的类型由Content-Type加以标记。
- 无状态:是指服务端对于客户端每次发送的请求都认为它是一个新的请求,上一次会话和下一次会话没有联系;HTTP 协议这种特性有优点也有缺点,优点在于解放了服务器,不会造成不必要连接占用,缺点在于如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。
- 支持客户端/服务器模式。
- 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。