一、概念

超文本传输协议:一个在计算机世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和规范」。

状态码:

常见字段:

1、host字段:服务器的域名

 

2、Content-Length 字段:本次回应的数据长度

 

3、Connection 字段:设置长连接,开启了 HTTP Keep-Alive 机制后, 连接就不会中断,而是保持连接。当客户端发送另一个请求时,它会使用同一个连接,一直持续到客户端或服务器端提出断开连接。

 4、Content-Type:告诉客户端,本次数据是什么格式。

 

二、GET & POST

1、GET 的语义是从服务器获取指定的资源,GET的请求参数写在URL中,长度有限制

2、POST 的语义是请求服务器根据请求体对指定的资源做出处理,请求参数写在请求体中,长度无限制

 

三、HTTP 1.0 & HTTP1.1

1、HTTP 1.0是短连接,HTTP1.1支持长连接

2、HTTP 1.0存在浪费带宽的现象,HTTP1.1在请求头中引入了range字段,允许只请求资源的某个部分

3、HTTP1.1多了100状态码,表示在请求大量资源前的预热请求

 

四、HTTP & HTTPS

1、HTTP是明文传输,HTTPS 则解决 HTTP 不安全的缺陷,在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。

2、HTTP 连接建立相对简单, TCP 三次握手之后便可进行 HTTP 的报文传输。而 HTTPS 在 TCP 三次握手之后,还需进行 SSL/TLS 的握手过程,才可进入加密报文传输。

3、两者的默认端口不一样,HTTP 默认端口号是 80,HTTPS 默认端口号是 443。

 HTTPS如何避免HTTP存在的风险?

1)混合加密:采用的是对称加密和非对称加密结合的「混合加密」方式对明文加密。

对称加密:只使用一个密钥,运算速度快,密钥必须保密,无法做到安全的密钥交换。

非对称加密:使用两个密钥,公钥和私钥,公钥可以任意分发而私钥保密,解决了密钥交换问题但速度慢。

2、使用摘要算法和数字签名保证传输的内容不被篡改

SSL(安全套接层):

TLS与SSL在传输层与应用层之间对网络连接进行加密。

 SSL协议可分为两层:

SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封 装、压缩、加密等基本功能的支持。

SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前, 通讯双方进行身份认证、协商加密算法、交换加密密钥等。