对于 HTTP/0.9:
GET /
对于 HTTP/1.0:
GET / HTTP/1.0
对于 HTTP/1.1:
GET / HTTP/1.1
Host: example.com
HTTP/2 的请求行是什么?是不是像:
GET / HTTP/2.0
还是 HTTP/2?
对于 HTTP/0.9:
GET /
对于 HTTP/1.0:
GET / HTTP/1.0
对于 HTTP/1.1:
GET / HTTP/1.1
Host: example.com
HTTP/2 的请求行是什么?是不是像:
GET / HTTP/2.0
还是 HTTP/2?
即使请求不是 HTTP/1.1,主机是否也需要 SSL 标头?
因此,如果客户端通过 SSL 连接,并发送以下请求:
GET / HTTP/1.0
如果我在 中禁用 SNI openssl s_client
,则 apache 将在没有 Host: 标头的情况下工作。
为什么在 SNI 开启时需要 Host: 标头?
来自RFC 3912:
3. 协议示例
如果向位于 whois.nic.mil 的 WHOIS 服务器发出请求以获取有关“Smith”的信息,则线路上的数据包将如下所示:
client server at whois.nic.mil open TCP ---- (SYN) ------------------------------> <---- (SYN+ACK) ------------------------- send query ---- "Smith<CR><LF>" --------------------> get answer <---- "Info about Smith<CR><LF>" --------- <---- "More info about Smith<CR><LF>" ---- close <---- (FIN) ------------------------------ ----- (FIN) ----------------------------->
这个:
client server at whois.nic.mil open TCP ---- (SYN) ------------------------------> <---- (SYN+ACK) -------------------------
似乎是双向 TCP 握手?哪个,存在吗?
我认为这是应该提到的:
client server at whois.nic.mil open TCP ---- (SYN) ------------------------------> <---- (SYN+ACK) ------------------------- ---- (ACK) ------------------------------>
我认为它基本上是三向握手的简写......