2011-12-11 129 views

回答

29

HTTP Upgrade用於指示的偏好或要求切換到不同版本的HTTP或到另一個協議,如果可能的話:

的升級通用頭允許客戶端指定什麼 附加的通信協議如果服務器發現它適合切換協議,它支持並希望使用 。服務器 必須使用101(交換協議) 響應中的升級報頭字段來指示正在交換哪個協議。

Upgrade  = "Upgrade" ":" 1#product 

例如,

Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11 

的Upgrade頭字段的目的是提供用於過渡的簡單機制 從HTTP/1.1到一些其他的,不兼容的協議。

根據IANA register,它只有3個註冊提及(包括一個在HTTP規範本身)。

另外兩個是:

+0

哇,非常徹底。謝謝一堆! – Randomblue

+0

@布魯諾,自定義升級協議如何工作?例如。如果我們的服務器想要支持['Upgrade:firepresence'](http://lucumr.pocoo.org/2012/9/24/websockets-101/)自定義協議,我們如何讓瀏覽器發送升級請求? – Pacerier

+0

@Prier我不確定。我想你會需要大幅改變瀏覽器本身(或者如果可能的話,爲它編寫一個插件/擴展),有點像websockets所做的一樣。 – Bruno