Linux中國
每個 HTTP/2 連接會發送一條隱藏的秘密信息!
如果你監聽過 HTTP/2 連接的建立過程,你也許會注意到在每個連接建立時都會發送一條這樣的報文。如下:
即以下文本:
PRI * HTTP2.0
SM
如果將 HTTP2.0 以及換行從其中去掉,那麼我們就得到了「PRISM」!——這是什麼?是斯諾登所揭露的 NSA 的「稜鏡計劃」!只要是 HTTP/2.0 連接,都會在一開頭就發送這樣的報文。
是你的 HTTP/2.0 連接被 NSA 監控了么?不是!這條消息代表了你的伺服器真正支持了 HTTP/2.0,它是一個用於識別的魔法字元串。
它在 RFC7540 Section 3.5 中描述如下:
在 HTTP/2 中,每個端點都需要發送一個連接引語作為所用協議的最終確認,並用於建立 HTTP/2 連接的初始設置。客戶端和伺服器發送不同的連接引語。
客戶端的連接引語以24個位元組開始,以16進位表示如下:
0x505249202a20485454502f322e300d0a0d0a534d0d0a0d0a
即以下列字元串開始: 「**PRI * HTTP/2.0rnrnSMrnrn」**。
事實上,這個魔法字元串原本是「FOOBA」:在 2013/5/29 發布的 draft-ietf-httpbis-http2-03 中它還是這個樣子:「*FOO HTTP/2.0rnrnBArnrn**」。
而在同年6月份斯諾登事件沸沸揚揚之後,7/8發布的 draft-ietf-httpbis-http2-04 中就變成了「*PRI HTTP/2.0rnrnSMrnrn**」。
所以,你知道了吧?這個古怪的字元串是互聯網工程任務組(IETF)對 NSA 的嘲諷。
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive
對這篇文章感覺如何?
太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
More in:Linux中國
如何通過 VLC 使用字幕
使用 VLC 媒體播放器播放和管理字幕的新手指南。
Unix 桌面:在 Linux 問世之前
僅僅開源還不足以實現開放,還需開放標準和建立共識。
Valve 對於 Ubuntu 的 Snap 版本的 Steam 並不滿意:原因何在
你可能會發現,Snap 版本的 Steam 並不如你期待的那樣好,你怎麼看?
Wine 9.0 發布,實驗性地加入了 Wayland 驅動
Wine 的這個新版本正在為未來做好準備!