区分HTTP和HTTPS

HTTP

  • 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。它可以使浏览器更加高效。HTTP 协议是以明文方式发送信息的,如果黑客截取了 Web 浏览器和服务器之间的传输报文,就可以直接获得其中的信息。

HTTP请求报文
HTTP请求报文由3部分组成(请求行+请求头(首部头)+请求体):

林

我们看到该报文由5行组成,每行由一个回车和换行符结束。最后一行后再附加一个回车换行。虽然这个特定的报文仅有5行,但一个请求报文能够具有更多的行或者至少为一行。HTTP 请求报文的第一行叫做请求行 (request line) ,其后继的行叫做首部行( headerline)。请求行有3个字段:方法字段、URL字段和HTTP版本字段。方法宇段可以取几种不同的值,包括 GET、POST、HEAD、PUT和DELETE。绝大部分的 HTTP 请求报文使用GET方法,当浏览器请求一个对象时,使用 GET 方法,在 URL 字段带有请求对象的标识。在本例中,该浏览器正在请求对象/somedirl page. html 其版本字段是自解释的;在本例中,浏览器实现的是 HTTP/ l. 1版本。
现在我们看看本例的首部行:首部行 Host: www. someschool. edu指明了对象所在的主机。你也许认为该首部行是不必要的,因为在该主机中已经有一条 TCP 连接存在了,但是,该首部行提供的信息是 Web代理高速缓存所要求的,通过包含 Connection: close首部行,该浏览器告诉服务器不希望麻烦地使用持续连接,它要求服务器在发送完被请求的对象后就关闭这条连接。User- agent:首部行用来指明用户代理,即向服务器发送请求的浏览器的类型。这里浏览器类型是 Mozilla/5. 0,即Firefox 浏览器,这个首部行是有用的,因为服务器可以有效地为不同类型的用户代理,实际发送相同对象的不同版本 (每个版本都由相同的URL寻址)。最后Accept-language:首部行表示用户想得到该对象的法语版本(如果服务器中有这样的对象的话);否则,服务器应当发送它的默认版本, Accept -language:首部行仅是 HTTP 中可用的众多内容协商首部之一。

在这里插入图片描述

HTTP响应报文
HTTP响应报文包含:状态行,首部行和实体主体。

在这里插入图片描述

以上就是我们的HTTP响应报文,它有三个部分状态行(包括协议版本字号、状态码和相应的状态信息),首部行(服务器使用Connection:close首部行会告诉我们的客户/浏览器,发送完报文后将关闭Tcp连接。还有发送报文的日期和时间–这个时间是服务器从它的文件系统检索到对象,并且将我们的对象插入到我们的响应报文中,并且发送该响应报文的时间。Server:首部行指示我们该报文是由一台Apache Web服务器产生的。Content-Length和Content-Type:是我们被发送对象的字节数和实体对象是HTML文本)和实体主体(包含了所请求的对象本身)。

在这里插入图片描述

HTTPS

  1. 超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩写:HTTPS,常称为HTTP over TLS,HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。这个协议由网景公司(Netscape)在1994年首次提出,随后扩展到互联网上。历史上,HTTPS连接经常用于万维网上的交易支付和企业信息系统中敏感信息的传输。在2000年代晚期和2010年代早期,HTTPS开始广泛使用于保护所有类型网站上的网页真实性,保护账户和保持用户通信,身份和网络浏览的私密性。

HTTP和HTTPS的不同之处

HTTP特点

  1. 无状态:协议对客户端没有状态存储,对事物处理没有“记忆”能力,比如访问一个网站需要反复进行登录操作。

针对无状态的一些解决方法:
1.通过Cookie/Session技术。
2.HTTP/1.1持久连接(HTTP keep-alive)方法,只要任意一端没有明确提出断开连接,则保持TCP连接状态,在请求首部字段中的Connection: keep-alive即为表明使用了持久连接。

  • 无连接:HTTP/1.1之前,由于无状态特点,每次请求需要通过TCP三次握手四次挥手,和服务器重新建立连接。比如某个客户机在短时间多次请求同一个资源,服务器并不能区别是否已经响应过用户的请求,所以每次需要重新响应请求,需要耗费不必要的时间和流量。
  • 基于请求和响应:基本的特性,由客户端发起请求,服务端响应。
  • 简单快速、灵活。
  • 通信使用明文、请求和响应不会对通信方进行确认、无法保护数据的完整性。

HTTPS的特点

  • 内容加密:采用混合加密技术,中间者无法直接查看明文内容。
  • 验证身份:通过证书认证客户端访问的是自己的服务器。
  • 保护数据完整性:防止传输的内容被中间人冒充或者篡改。

**混合加密:**结合非对称加密和对称加密技术。客户端使用对称加密生成密钥对传输数据进行加密,然后使用非对称加密的公钥再对秘钥进行加密,所以网络上传输的数据是被秘钥加密的密文和用公钥加密后的秘密秘钥,因此即使被黑客截取,由于没有私钥,无法获取到加密明文的秘钥,便无法获取到明文数据。

**数字摘要:**通过单向hash函数对原文进行哈希,将需加密的明文“摘要”成一串固定长度(如128bit)的密文,不同的明文摘要成的密文其结果总是不相同,同样的明文其摘要必定一致,并且即使知道了摘要也不能反推出明文。

**数字签名技术:**数字签名建立在公钥加密体制基础上,是公钥加密技术的另一类应用。它把公钥加密技术和数字摘要结合起来,形成了实用的数字签名技术。

  • 收方能够证实发送方的真实身份;
  • 发送方事后不能否认所发送过的报文;
  • 收方或非法者不能伪造、篡改报文。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值