http协议和https协议

http协议

http 协议是建立在 TCP/IP协议上应用层协议,默认端口为 80,8080

http 协议请求

http 协议的报文传输的是 ASCII 码,在 TCP/IP 协议上主要分为:请求行,请求头,请求体

请求行(get请求,post请求)

在第一行中包含请求方式,url,http协议

getpost
url 的可见性可见不可见
数据传输通过拼接 url 进行传递参数通过 body 体传输参数
缓存性可以缓存不可缓存
请求页面后退时的反应不产生影响会重新提交请求
传输数据大小不超过 2k~4k根据 php.ini 配置文件设定,也可以无限
安全性(原则上)不安全安全
请求头

浏览器向服务器发送一些状态数据,表示数据等;一个信息一行。

请求主题

请求代理端项服务器端,发送的请求数据;比较典型的就是以 POST 的形式发送的表单数据;get 请求没有请求主体。

http 协议的响应(响应行,响应头,响应体)

响应行

协议版本,状态码,状态消息

典型的:

  1. xx:消息
  2. xx:成功
  3. xx:请求被重定向
  4. xx:浏览器端错误
  5. xx:服务器端错误

典型:

  1. 500 服务器内部错误
  2. 404 请求的页面没有找到
  3. 403 没有权限
  4. 200 请求成功
响应头
Content-Type: text/html 内容类型,告知浏览器接下来发送的响应主体数据是什么格式。
Content-Length: 响应主体数据的长度。
Date: 响应的时间。GMT时间。
响应主体
主要的响应数据,在浏览器的主体区域显示的数据都是相应主体。注意,每行,包括相应行和响应头,都需要一个 \r\n结尾

https协议

https协议是在http和tcp之间多添加了一层,进行身份验证和数据加密。比起http协议,https更安全。

https 原理

  1. 客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器
  2. 服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的证书发送给客户端;该证书还包含了用于认证目的的服务器标识,服务器同时还提供了一个用作产生密钥的随机数 [2] ;
  3. 客户端对服务器的证书进行验证(有关验证证书,可以参考数字签名),并抽取服务器的公用密钥;然后,再产生一个称作 pre_master_secret 的随机密码串,并使用服务器的公用密钥对其进行加密(参考非对称加 / 解密),并将加密后的信息发送给服务器 [2] ;
  4. 客户端与服务器端根据 pre_master_secret 以及客户端与服务器的随机数值独立计算出加密和 MAC密钥(参考 DH密钥交换算法) [2] ;
  5. 客户端将所有握手消息的 MAC 值发送给服务器 [2] ;
  6. 服务器将所有握手消息的 MAC 值发送给客户端

密码学基础

明文:明文指的是未被加密过的原始数据。
密文:明文被某种加密算法加密之后,会变成密文,从而确保原始数据的安全。密文也可以被解密,得到原始的明文。
密钥:密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥,分别应用在对称加密和非对称加密上。

对称加密:对称加密又叫做私钥加密,即信息的发送方和接收方使用同一个密钥去加密和解密数据。对称加密的特点是算法公开、加密和解密速度快,适合于对大数据量进行加密,常见的对称加密算法有DES、3DES、TDEA、Blowfish、RC5和IDEA
其加密过程如下:明文 + 加密算法 + 私钥 => 密文
解密过程如下: 密文 + 解密算法 + 私钥 => 明文

对称加密中用到的密钥叫做私钥,私钥表示个人私有的密钥,即该密钥不能被泄露。
其加密过程中的私钥与解密过程中用到的私钥是同一个密钥,这也是称加密之所以称之为“对称”的原因。由于对称加密的算法是公开的,所以一旦私钥被泄露,那么密文就很容易被破解,所以对称加密的缺点是密钥安全管理困难。

非对称加密:非对称加密也叫做公钥加密。非对称加密与对称加密相比,其安全性更好。对称加密的通信双方使用相同的密钥,如果一方的密钥遭泄露,那么整个通信就会被破解。而非对称加密使用一对密钥,即公钥和私钥,且二者成对出现。私钥被自己保存,不能对外泄露。公钥指的是公共的密钥,任何人都可以获得该密钥。用公钥或私钥中的任何一个进行加密,用另一个进行解密。
被公钥加密过的密文只能被私钥解密,过程如下:
明文 + 加密算法 + 公钥 => 密文, 密文 + 解密算法 + 私钥 => 明文
被私钥加密过的密文只能被公钥解密,过程如下:
明文 + 加密算法 + 私钥 => 密文, 密文 + 解密算法 + 公钥 => 明文

由于加密和解密使用了两个不同的密钥,这就是非对称加密“非对称”的原因。
非对称加密的缺点是加密和解密花费时间长、速度慢,只适合对少量数据进行加密。
在非对称加密中使用的主要算法有:RSA、Elgamal、Rabin、D-H、ECC(椭圆曲线加密算法)等。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值