简单的了解HTTPS

关于HTTP的不足

  • 通信使用明文不加密,内容可能被窃听

    • 由于HTTP本身不具备加密功能,所以无法做到对通信整体(HTTP协议通信请求和响应内容)加密,很容易被获取
    • 为了防止被窃听,普遍做法是加密
      • 通信加密:HTTP协议中没有加密机制,但可以通过和SSL(安全套接字)或TSL(安全传输协议)的组合使用,加密HTTP的通信内容,与SSL组合使用的HTTP被称为HTTPS
      • 内容加密:HTTP协议中没有加密机制,对HTTP协议内容本身加密,但是做到有效加密的话,客户端和服务器端必须由相应的解密机制
  • 不验证通信方的身份,因此有可能遭遇伪装

    • HTTP协议实现非常简单,只要有请求就会有响应,因此存在很多问题
      • 无法确定请求发送至的目标服务器是你希望的服务器,可能是伪装的服务器
      • 无法确定响应返回到的客户端就是你希望的客户端,可能是伪装的客户端
      • 无法确定正在通信的对方是具备访问权限,也许有的接口是指定给特殊用户的
    • 虽然HTTP协议无法确定,但是SSL可以,SSL有一套证书机制
      • 证书由三方机构颁发,以证明服务器和客户端真实存在
      • 客户端和服务器在开始通信前可以验证彼此证书
  • 无法证明body的完整性,所以可能遭篡改

    • 客户端和服务器接在发送或收到的请求或响应过程中,可能会被攻击,内容会被篡改
    • 为了防止篡改,有必要使用HTTPS,SSL提供认证和加密处理及摘要功能。

HTTPS

  • 概念:把添加了加密和认证机制的HTTP称为HTTPS
  • HTTPS并不是一种协议,只是在HTTP通信接口部分用SSL和TSL协议代替而已
  • 通常HTTP直接和TCP通信,当使用HTTPS时,变成了先和SSL通信,再由SSL和TCP通信
  • SSL是独立于HTTP协议的

HTTPS的加密

在服务器端有一个安全证书,存储在受保护的空间内
1、客户端发了一个https请求
2、服务器会先把这个证书传给app,app选择安装或者不安装,如果安装,所有的请求都是在这个证书加密的,如果不安装,就没向服务器发送请求
3、请求数据是通过公钥加密的,在服务器端有个私钥进行解密,当服务器收到公钥加密的请求时,会用私钥解密

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个简单的例子,用于演示如何使用`submit()`函数实现表单验证: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jQuery表单验证示例</title> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> </head> <body> <form id="myform"> <label for="username">用户名:</label> <input type="text" id="username" name="username"><br> <label for="password">密码:</label> <input type="password" id="password" name="password"><br> <input type="submit" value="登录"> </form> <div id="msg"></div> <script> $(function() { $("#myform").submit(function(event) { event.preventDefault(); var username = $("#username").val(); var password = $("#password").val(); if(username == "") { $("#msg").text("用户名不能为空"); } else if(password == "") { $("#msg").text("密码不能为空"); } else { $("#msg").text("表单验证通过,提交中..."); // 在此处添加表单提交的代码 } }); }); </script> </body> </html> ``` 在上面的代码中,我们先通过`$("#myform").submit()`函数来绑定表单的提交事件。在事件处理函数中,我们通过`event.preventDefault()`来阻止表单的默认提交行为。然后,我们获取用户名和密码的输入值,并进行简单的非空验证。如果验证通过,则在`#msg`元素中显示验证通过的提示信息,并在事件处理函数的最后编写表单提交的代码。如果验证不通过,则在`#msg`元素中显示相应的错误提示信息。 需要注意的是,上述代码只是一个简单的表单验证示例,实际应用中,需要根据具体需求编写更为复杂的表单验证逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值