构成 HTTP 请求(和响应)的字母是否采用 ASCII 格式?

Are the letters that make up an HTTP request (and response) in ASCII format?

随着 HTTP 请求和响应在互联网上传输,请求中的文本格式是什么?是 ASCII 码吗?

示例: 如果 HTTP 请求如下所示 -

GET /mysite/ HTTP/1.1
 -- rest of the request --

请求是否作为以下 ASCII 编码位流发出? -

(In decimal) 71 69 84 32 47 etc.
Which is - "G" "E" "T" "space" "/" etc.

还是其他格式?

如能提供有关此过程的任何其他信息,我们将不胜感激。 谢谢!

根据规范,URL 只能以 ASCII 格式在互联网上发送。这就提出了如何发送不直接包含在ASCII字符集中的内容的问题。处理此问题的一种常见方法是在通过 HTTP 发送之前对所有内容进行 base 64 编码。这意味着使用 ASCII 字符对所有内容进行编码。

为了解决您的问题,如果您嗅探您的 GET 请求,您将只会看到 ASCII 字符。但是,内容可能会或可能不会被肉眼理解,具体取决于它是否已被编码或加密(在您使用 HTTPS 的情况下为后者)。