В настоящее время я работаю над этой проблемой с небольшим количеством 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
, а почему нет.
Изменить: Причина, по-видимому, глубоко внутри реального веб-сервера.
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_ *?