http: 实用指南笔记 | 青训营

98 阅读3分钟
HTTP (Hyper Text Transfer Protocol)全称为超文本传输协议,是一个简单的请求——响应协议:

1.HTTP协议规定了如何从网站服务器传输超文本到本地浏览器;

2.HTTP协议基于客户端服务器架构工作,是客户端(用户)和服务器端(网站)请求和应答的标准;

3.HTTP协议可以使浏览器更加高效,使网络传输减少;

4.HTTP协议不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

超文本传输协议(HTTP协议)被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

1.报文结构

报文的组成:HTTP报文是简单的格式化数据块。每条报文都包含一条来自客户端的请求,或者一条来自服务器的响应。报文由三个部分组成:起始行(start line)==>对报文进行描述; 首部(header) ==>包含属性的部分; 主体(body) ==>可选的,包含数据的部分;

有状态码、请求头、响应头、缓存、cookie等。

HTTP报文的类型:请求报文(request message)、响应报文(response message)。请求报文回向Web服务器请求一个动作,响应报文会将请求的结果返回给客户端。

2.HTTPS概述

为了解决HTTP协议的安全缺陷,需要使用另一种协议:超文本传输安全协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

  • 对称加密:加密和解密都是使用同一个密钥

  • 非对称加密:加密和解密需要使用两个不同的密钥:公钥(public key)和私钥(private key)

3.HTTP和HTTPS的区别

1、https协议需要到CA (Certificate Authority,数字证书认证机构)申请证书,一般免费证书较少,因而需要一定费用。

2、http是明文传输,数据未加密,安全性差;https则是具有安全性的ssl加密传输协议,安全性好。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http页面响应速度比https快,因为http使用TCP三次握手建立连接,客户端和服务器需要交换3个包,而https除了TCP的三个包,还要加上ssl握手需要的9个包,所以一共是12个包。

5、https=SSL/TLS+http,所以,https比http要更耗费服务器资源。