前端对HTTP的了解是什么?

时间:2015-12-13 21:14:32

标签: javascript http browser frontend

前端(例如,网站)如何知道连接的HTTP调用版本?

当客户端进行API调用时,它如何知道它是HTTP 1.1,HTTP 2还是HTTPS?

我不清楚这些实际上是如何相互联系的。

2 个答案:

答案 0 :(得分:4)

HTTP 1.1旨在在很大程度上向后兼容HTTP 1.0。如果HTTP 1.1客户端向HTTP 1.0服务器发出请求,则会忽略额外的标头。

HTTP 2有clear instructions,如果服务器支持连接,则需要通过HTTP 1.1启动连接,并请求升级到2。

HTTPS不是HTTP的一个版本。它是HTTP over SSL。 如果网址具有HTTPS方案,则客户端将与服务器建立SSL连接,然后通过该SSL连接与常规HTTP通信。

答案 1 :(得分:0)

客户端在请求中指定HTTP版本,如下所示:

$ telnet cnn.com 80
Trying 157.166.226.25...
Connected to cnn.com.
Escape character is '^]'.
GET / HTTP/1.1
Host: cnn.com

HTTP版本2写为HTTP/2,但这是一个二进制协议,我不知道如何在此处说明。无论如何,服务器都会看到版本并相应地运行。

对于HTTP与HTTPS,这是网址的一部分(http:https:)。浏览器(或其他客户端)使用明文HTTP或TLS包装的HTTP,具体取决于请求中指定的协议。