HTTP与HTTPS的区别、对称加密和非对称加密、什么是数字证书、DNS 解析过程、TCP和UDP的区别、HTTP的特点TCP 和 UDP 对应的应用场景

news/2024/5/18 13:17:04 标签: udp, http, https
http://www.w3.org/2000/svg" style="display: none;">

文章目录

  • 一、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会用它的私钥对此哈希值进行签名,并放在签名部分)。签名是为了验证身份。
https://img-blog.csdnimg.cn/a101648cd295481c82bd647e13bf977f.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qOu5piO5biu5aSn5LqO6buR6JmO5biu,size_17,color_FFFFFF,t_70,g_se,x_16" alt="在这里插入图片描述" />

四、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服务器的程序规模小,因而通信速度很快。

http://www.niftyadmin.cn/n/1739808.html

相关文章

计算机cpu intel,Intel的CPU后面带F是什么意思?

在Intel处理器中,一般型号后面带“k”或 “X” 的比较多,代表CPU支持超频。而没有“k”或”X”后缀的CPU则代表不支持超频。而在今年的CES2019展会上,Intel首次发布了多款全新“F”后缀的处理器,受到不少电脑爱好者朋友的关注。那…

MySQL索引底层结构为什么选择B+树

文章目录1.Hash索引Hash索引把数据以hash形式组织起来,因此查找某一条记录的时候,速度非常快。同时.hash算法的索引有个缺点,因为它不是按照大小排序的。所以,它无法按照范围进行查找。2.二叉树结构索引 二叉树的定义:…

只有安装了操作系统的计算机才能工作,探秘:按下开机按钮,电脑到底在做什么...

很多朋友奇怪,电脑怎么开机的呢?按下开机按钮,到屏幕出现画面,在这几秒钟电脑在做什么呢?今天我就为大家解密按下开机按钮后电脑的状态。首先我们看一个图,就是主板开机引导过程图根据上面的图,…

数据库中的主键与外键的关系

文章目录一、主键、外键:1.概念2.区别3.作用4.举例:5.总结一、主键、外键: 1.概念 SQL的主键表示唯一标识一条记录,不能有重复的,不允许为空。例如:一条记录包括身份正号,姓名,年龄…

Linux命令经典面试题:统计文件中出现次数最多的前10个单词

文章目录一、统计文件中出现次数最多的前10个单词二、linux文件搜索关键字并显示前后10行三、cat、grep、sed查看文件任意几行的数据一、统计文件中出现次数最多的前10个单词 使用linux命令或者shell实现:文件words存放英文单词,格式为每行一个英文单词…

计算机已从异常关机中恢复,(BCCode7a蓝屏问题,急!)今天电脑开机放着,人离开了,回来后提示windows从异常关机中恢复...

Hi eT_Te~我检查了你的内存转储文件,你这个文件很典型,bugcheck 0x7a,参数2为c0x185,那么情况就是你的SCSI磁盘有问题。要么是你的SCSI设备非正常中断,要么是接线有问题,也可能是两个设备使用了相同的IRQ请…

迭代器失效的几种情况

引言: 最近自己写代码用到了删除链表中某个节点操作,因为迭代器使用不规范,造成了程序崩溃。 例如,对某个迭代器解引用所获得的值并不是执行erase()前这个迭代器指向的值,还有可能对未指向任何元素的迭代器的解引用赋值而引发程序…

面试题:C++vector的动态扩容,为何是1.5倍或者是2倍

文章目录一、概述二、 高效使用vector,避免扩容1.扩容机制回顾2.如何避免扩容导致效率低三、为什么选择以倍数方式扩容1. 以等长个数进行扩容2. 以倍数方式进行扩容3. 为什么选择1.5倍或者2倍方式扩容,而不是3倍、4倍四、Windows和Linux的扩容底层原理1.…