我目前正在圍繞這一問題正與中間件一點點,基本上查找「錯誤」的標題,如果它存在,追加同等價值的一個新的標題:
if 'X-Requested-With' in request.META:
request.META['HTTP_X_REQUESTED_WITH'] = request.META['X-Requested-With']
但我真的希望我知道這些標題應該會發生什麼,因爲總是發送X-Requested-With
......我不明白爲什麼應該將其翻譯爲HTTP_X_REQUESTED_WITH
以及爲什麼它不是。
編輯:原因似乎是深入實際的Web服務器。
case 'X':
if (header_equals ("X-Forwarded-For", header_x_forwarded_for, begin, header_len)) {
ret = add_known_header (hdr, header_x_forwarded_for, val_offs, val_len);
} else if (header_equals ("X-Forwarded-Host", header_x_forwarded_host, begin, header_len)) {
ret = add_known_header (hdr, header_x_forwarded_host, val_offs, val_len);
} else
goto unknown;
break;
我已經建檔的錯誤,以獲取添加我的頭,但應該所有的X *頭轉換成HTTP_X_ *頭?
來源
2009-01-19 20:03:19
Oli
是的,我認爲這取決於Web服務器將HTTP標頭翻譯成SCGI環境。不知道SCGI應該如何發生(我使用WSGI),但這可能是切諾基的一個錯誤。 – 2009-01-20 02:18:19