http和https

    http/https都是基于tcp/ip上的一种应用层传输协议。

组成

    http由URL,header和body组成。

  • URL

    其中URL包含目标地址和请求方法,请求参数

  • header

    header包含一些配置参数,其中都是使用键值对传递,每一对之间需要换行。

    传递格式为:

Content-Encoding: gzip\r\n
  • body

    对传递的数据的格式没有具体要求。一般使用者自定义数据格式。

get和post的区别

    对于在浏览器之间使用时候,二者却别如下:

  • post请求会发送两次,第一次将header发送给服务,如果返回200,才会继续发送body,但不是所有浏览器都是这样,Firefox就只发送一次。
  • get会给浏览器产生缓冲,URL后的参数可以被看到,不安全,post不会。

    对于在移动设备使用,我们只是单纯的访问API接口时,本质上两者并无差异,我们可以使用post时候,在URL后边加上参数,也可以使用get时候,将一些请求数据放在body中。

    不过日常使用中,可能会有一些规范,请求API,为了获取某些单一数据请求数据单一且少的情况下使用get,其他情况使用post。

https

    https比http多了一层tls/ssl认证,这样可以保证传输过程中的数据是加过密的。

    HTTPS也分为单项认证和双向认证。

  • 单向认证

    单向认证是客户端验证服务器的可靠性

1. 客户端把自己的SSL协议版本号,加密算法种类,随机数等发给服务端

2. 服务端给客户端返回自己的证书

3. 客户端使用证书验证服务端合法性[证书是否过期,颁发者是否有效,签名是否一致等信息]

4. 验证通过后,客户端把自己支持的所有对称加密方式发送给服务端

5. 服务端选择最高级加密方案返回给客户端

6. 客户端生成对应加密密钥随机数,并使用服务端证书公钥加密发送给服务端

7. 服务端使用私钥解密获取到密钥,之后的会话中都会使用该密钥来进行加解密。
  • 双向认证

    双向认证是客户端和服务器互相验证对方的可靠性

http和https区别
  • http由于不需要认证连接,传输时间快,https由于需要连接认证,传输时间慢
  • https传输的数据都是密文,而http是明文
  • https需要在服务端配置证书,并且该证书一般都是需要花钱的,需要成本。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值