【发布时间】:2018-05-04 18:44:17
【问题描述】:
浏览器在缓存中显示消息体,如下所示:
00000000: 20 20 20 20 3c 21 44 4f 43 54 59 50 45 20 68 74 <!DOCTYPE ht
00000010: 6d 6c 3e 0a 20 20 20 20 3c 68 74 6d 6c 3e 0a 20 ml>. <html>.
00000020: 20 20 20 3c 68 65 61 64 3e 0a 20 20 20 20 20 20 <head>.
00000030: 20 20 3c 6d 65 74 61 20 63 68 61 72 73 65 74 3d <meta charset=
00000040: 22 75 74 66 2d 38 22 20 2f 3e 0a 20 20 20 20 20 "utf-8" />.
00000050: 20 20 20 3c 74 69 74 6c 65 3e 54 65 73 74 3c 2f <title>Test</
00000060: 74 69 74 6c 65 3e 0a 20 20 20 20 3c 2f 68 65 61 title>. </hea
00000070: 64 3e 0a 20 20 20 20 3c 62 6f 64 79 3e 0a 20 20 d>. <body>.
00000080: 20 20 20 20 20 20 54 65 73 74 20 63 61 63 68 69 Test cachi
00000090: 6e 67 20 62 65 68 61 76 69 6f 72 20 2e 2e 2e 0a ng behavior ....
000000a0: 20 20 20 20 3c 2f 62 6f 64 79 3e 0a 20 20 20 20 </body>.
000000b0: 3c 2f 68 74 6d 6c 3e </html>
为什么浏览器在 2 个版本中显示消息正文? (十六进制版本和非十六进制版本。)
以图像为例:浏览器显示十六进制版本和非十六进制版本。 如果在某些情况下,您只能显示十六进制版本而无法显示非十六进制版本(由于编码或源或其他原因),那么我会理解的。但是有没有这样的情况,我怎样才能重现它们?
【问题讨论】:
-
是什么让您认为正文存储为“十六进制字节字符串”?甚至是 “十六进制字节字符串” 是什么?没有这样的事情。
-
这是一个严重的误解。使用
hexdump工具,您可以从任何文件中获得相同类型的输出。这只是一个文本表示。 -
@MaartenBruins:正确,他们以那种格式显示它。这并不意味着它是以那种格式存储的。
-
您问为什么浏览器将数据存储在十六进制字符串中,这是不正确的。如果您想问为什么它以这种方式显示数据,请编辑您的问题。
标签: browser hex browser-cache http-caching hexdump