我目前正在使用一点点 MiddleWare 来解决这个问题,它本质上是在寻找“错误”的标头,如果存在,则附加一个具有相同值的新标头:
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_* 标头吗?