Http和Https

基本概念

  • Http
    • 超文本传输协议,是互联网上应用最为广泛的一种网络协议
    • 是一个客户端和服务器端请求和应答的标准,即TCP
    • 用于从 WWW 服务器传输超文本本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少
    • HTTP 的生命周期通过 Request 来界定,也就是 Request 一个 Response。
  • Https
    • 安全为目标的http通道/http的安全版
    • http下加入SSL层
    • 安全基础为SSL,加密内容需要SSL
    • 主要作用:建立一个信息安全通道,来确保数组的传输,确保网站的真实性。
    • 优点:使用 HTTPS 协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;
    • 缺点:
      • https 握手阶段比较费时,会使页面加载时间延长 50%,增加 10%~20%的耗电。
      • https 缓存不如 http 高效,会增加数据开销。
      • SSL 证书需要钱,功能越强大的证书费用越高。
      • SSL 证书需要绑定 IP,不能再同一个 ip 上绑定多个域名,ipv4 资源支持不了这种消耗。

tips:

  • SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。
  • SSL协议可分为两层:
    ① SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。
    ② SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

区别

  • http传输的数据是未加密的,连接很简单,是无状态的;https由SSL协议来对http协议传输的数据进行加密,安全性更高
  • Https 协议需要 ca 证书,费用较高。
  • 使用不同的链接方式,端口也不同,一般而言,http 协议的端口为 80,https 的端口为 443

tips:

  • CA是证书的签发机构,它是公钥基础设施(Public Key Infrastructure,PKI)的核心。
  • CA是负责签发证书、认证证书、管理已颁发证书的机关。
  • CA 拥有一个证书(内含公钥和私钥)。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。

https协议工作原理

① 客户使用 https url 访问服务器,web 服务器建立 ssl 链接
② web 服务器接收到客户端的请求之后,会将网站的证书(证书中包含了公钥),返回或者说传输给客户端。
③ 客户端和 web 服务器端开始协商 SSL 链接的安全等级,也就是加密等级。
④ 客户端浏览器通过双方协商一致的安全等级,建立会话密钥,然后通过网站的公钥来加密会话密钥,并传送给网站。
web 服务器通过自己的私钥解密
web 服务器通过会话密钥加密与客户端之间的通信。

http 请求的方式

1、OPTIONS
  返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性
2、HEAD
  向服务器索取与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。
3、GET
  向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的操作中,例如在Web Application中,其中一个原因是GET可能会被网络蜘蛛等随意访问。Loadrunner中对应get请求函数:web_link和web_url
4、POST
  向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form
5、PUT
  向指定资源位置上传其最新内容
6、DELETE
  请求服务器删除Request-URL所标识的资源
7、TRACE
  回显服务器收到的请求,主要用于测试或诊断
8、CONNECT
  HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。