HTTP与HTTPS

HTTP与HTTPS

1. HTTP

  • http:超文本传输协议(hypertext transfer protocol),用于请求web网页,是以明文的的方式传输,默认端口是80(ftp:21 https:433)。
  • http请求: 在客户端浏览器与服务器建立TCP连接后,浏览器向服务器发送http请求(请求方法:GET、POST、PUT等),之后服务器进行响应。
  • 常见的请求:
    • GET:从服务器获取资源
    • POST:对应GET,向服务器提交数据进行处理请求
    • PUT: 用来传输文件,文件内容放进报文主体中
    • HEAD:和GET类似,但是不反回请求的实体数据,只会返回响应头
  • 不同版本:
    • http/0.9: GET
    • http/1.0:增加POST、HEAD
    • http/1.1:增加PUT、允许持久连接,共用一个TCP连接,多个请求不能同时接受发送数据。
    • http/2 :引入并发队列,缓解阻塞问题
  • 常见请求状态码:
    • 200:成功状态码
    • 403:服务器禁止访问
    • 404:NOT FOUND 服务器无法正常提供信息且不知道原因
    • 405: 方法不允许
    • 408:请求超时
    • 500:错误码,但不知道是什么错误。
    • 502: “bad gateway”,服务器作为网关或者代理是发生的错误,服务器自生工作正常,但访问后端服务器是发生了错误,具体错误原因不知道。
    • 503:”service unavaliable“ 服务器当前很忙,无法提供响应服务。
  • cookie机制:HTTP是无状态、无记忆的,cookie就是让其有记忆功能。cookie由浏览器负责存储,常见应用是身份识别和广告追踪
  • Session:Session是服务器为每个访问这个服务器的客户端用户创建的一个容器。这个容器中存储的数据能够在多个request之间实现共享。而且,这个容器只属于当前这个用户。
  • HTTP代理:相当于服务器为请求方,相对于请求方为服务器,负责代理转发请求

2.HTTPS

  • HTTPS:安全套接字层超文本传输协议(hypertext transfer protocol over secure socket layer)。可以理解成HTTP+ SSL(安全套接字层)/TLS(传输层安全)。SSL和TLS依靠证书来验证服务器的身份,并在浏览器和服务器之间建立加密的通信信道。
  • 原理:浏览器与服务器建立TCP连接后,浏览器向服务器请求建立HTTPS会话,并提供客户端支持的加密算法和散列函数,服务器选择双方都支持的最强的加密算法和散列函数并通知浏览器,并将自己的证书发送给浏览器,其中包含了服务器的公钥。浏览器验证服务器证书的真实性。浏览器使用服务器的公钥来加密随机数,只有服务器的对应的私钥才能对加密的随机数进行解密。这一组加密的随机数就是服务器和浏览器的共享密钥,使用对称加密系统和消息认证码对后续消息进行加密和验证。一旦建立了安全信道,就可以开始正常的HTTP通信。

3. HTTPS的优缺点

  • 优点:
    • HTTPS可以认证用户和服务器,保证数据被传输到对的用户和服务器
    • 采用加密传输,防止传输数据的泄露
  • 缺点:
    • SSL证书需要申请购买,增加了成本
    • HTTPS会话建立要经过一系列的验证,比较耗时。
    • HTTPS需要一部分服务器资源进行计算。

如有错误欢迎指正!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值