有朋友在面试字节,被问到这个问题:HTTPS 会加密 URL 吗?
答案是,会加密的。
因为 URL 的信息都是保存在 HTTP Header 中的,而 HTTPS 是会对 HTTP Header + HTTP Body 整个加密的,所以 URL 自然是会被加密的。
下图是 HTTP/1.1 的请求头部,可以看到是包含 URL 信息的。
对应的实际的 HTTP/1.1 的请求头部:
HTTP/1.1 请求的第一行包含请求方法和路径。HTTP/2 用一系列伪头部(pseudo-header)替换了请求行,这五个伪头部很容易识别,因为它们在名称的开头用了一个冒号来表示。
比如请求方法和路径伪头字段如下:
-
":method" 伪头字段包含了 HTTP 方法;
-
":path" 伪