http和https有哪些不同

http和https有哪些不同

1.数据传输的安全性:http非加密,https加密

2.端口号:http默认80端口,https默认443端口

3.性能:http基于tcp三次握手建立连接,https在tcp三次握手后还有TLS协议的四次握手确认加密,所以http建立连接更快。

4.SEO影响:搜索引擎更偏向于https的网站。

SEO(Search Engine Optimization,搜索引擎优化)是一种通过优化网站内容和结构,提高网站在搜索引擎自然搜索结果中排名的方法。SEO 的目标是增加网站的可见性,吸引更多的有机(非付费)流量,从而提高网站的知名度和业务价值。

我们可能的第一想法就是http是不安全的https是安全的,但是可能不怎么了解为什么,我们现在可以从底层出发了解一下为什么https是安全的。

https之所以安全就是因为数据加密,也就是在tcp三次握手后还有一次加密的操作(TLS协议握手)

TLS协议分为两种算法RSA算法和ECDHE算法:

RSA算法握手流程:

1.客户端问候:主要就是发送以下信息比如使用的TLS的版本、加密套件和随机数。

2.服务器问候:服务端收到客户端的消息后会先检验是否支持TLS的版本,然后选择加密套件和生成一个随机数

3.客户端密钥交换 + 使用加密 + 客户端完成:客户端密钥交换:客户端在验证完服务器的证书后会发送密钥给服务端并且这时还会生成一个新的随机数,然后发送“开始加密”和“客户端结束”消息给服务端

4.服务器使用加密 + 服务器完成:服务端发送“开始使用加密”和服务端结束消息

时序图:
在这里插入图片描述
ECDHE算法握手流程与RSA大致一致就是加密原理不一样,ECDHE 是基于椭圆曲线的 Diffie-Hellman 算法,用于密钥交换。它利用椭圆曲线上的离散对数问题,生成临时的公钥和私钥对,确保每次通信的密钥都是独立的,提供前向安全性。

总之知道https的TLS协议的四次握手流程就行,知道RSA和ECDHE算法的区别在哪。

### HTTPS HTTP 的区别 HTTPS(HyperText Transfer Protocol Secure)是基于 HTTP 的安全协议,主要通过 SSL/TLS 加密技术来确保数据传输的安全性。HTTP 则是明文传输协议,数据在传输过程中容易被窃听、篡改或伪造[^1]。 #### 主要区别 1. **安全性**:HTTP 是不安全的,所有数据都以明文形式传输,容易受到中间人攻击。而 HTTPS 使用 SSL/TLS 协议加密数据,防止数据被窃取或篡改。 2. **性能**:由于 HTTPS 需要进行加密解密操作,可能会增加服务器的计算负担,但在现代浏览器中,这种差异几乎可以忽略不计。 3. **URL 标识**:HTTP 的 URL 以 `http://` 开头,而 HTTPS 的 URL 以 `https://` 开头。 4. **端口**:HTTP 默认使用 80 端口,而 HTTPS 默认使用 443 端口。 5. **搜索引擎优化 (SEO)**:Google 等搜索引擎更倾向于 HTTPS 网站,并可能给予更高的排名权重[^2]。 ### Vue 项目中的 HTTPS 使用场景 在 Vue 项目中,HTTPS 的使用主要体现在与后端 API 的通信上。例如,当用户登录时,发送用户名密码到服务器;或者从服务器获取敏感数据时,都需要确保数据传输的安全性。 #### 示例代码 以下是一个使用 Axios 在 Vue 项目中通过 HTTPS 调用后端 API 的示例: ```javascript // 引入 Axios 库 import axios from 'axios'; export default { data() { return { username: '', password: '', errorMessage: '' }; }, methods: { async login() { try { const response = await axios.post('https://api.example.com/login', { username: this.username, password: this.password }); // 登录成功后的处理逻辑 console.log('登录成功:', response.data); } catch (error) { // 处理错误 this.errorMessage = '登录失败,请检查用户名密码'; console.error('登录失败:', error); } } } }; ``` #### 解释 - 使用 `https://` 前缀的 URL 来确保数据通过 HTTPS 传输。 - Axios 是一个常用的 HTTP 客户端库,支持 Promise async/await 语法,便于处理异步请求。 - 在实际开发中,建议将 API 地址配置为环境变量,以便在不同环境中切换[^4]。 ### 注意事项 1. **证书管理**:在生产环境中,必须正确配置 SSL 证书,确保 HTTPS 的正常运行。 2. **混合内容**:如果页面中有部分资源仍然通过 HTTP 加载,可能会导致浏览器发出警告,影响用户体验。 3. **兼容性**:虽然现代浏览器普遍支持 HTTPS,但在某些老旧系统中可能需要额外配置[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值