У нас есть Windows 2008 Server с IIS. У нас есть сайт asp.net, работающий на IIS. Сначала мы заметили проблему на нашей странице Default.aspx, где у нас есть некоторый javascript, который выглядит так:
<script language="javascript" type="text/javascript">
... ...
function removeBodyListener() {
//remove the onclick event listener so that no more pages can be opened
document.body.setAttribute('onclick', '');
}
... ...
</script>
По какой-то причине это отправлялось клиентам примерно так:
<script language="javascript" type="text/javascript">
... ...
function removeBodyListener() {
//HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/plain; chars document.body.setAttribute('onclick', '');
}
... ...
</script>
Удалив комментарий из нашего javascript, мы остановили замену файла default.aspx. Мы думали, что это будет нормально, но теперь мы обнаружили, что есть случаи, когда в наших ответах JSON на вызовы AJAX биты заменяются этой информацией заголовка http, что нарушает JSON и приводит к тому, что мы больше не можем правильно обрабатывать данные. .
Странно то, что мы не можем дублировать проблему при просмотре сайта на сервере, но мы получаем проблему при просмотре сайта с клиентского ПК.
Мы пробовали отключить все брандмауэры и антивирусное ПО. Мы проверили его в IE и Firefox, и мы убедились, что в браузерах не указан прокси. К сожалению, сервер находится в сети клиента, поэтому у нас очень мало контроля над используемой средой. У кого-нибудь есть предложения?
Оказывается, проблема была в "защите конечной точки Symmantec". Удалил это, и все работает. Я не уверен, почему указание Symmantec отключить все его функции не сработало, но удаление сработало. Я предполагаю, что когда вы говорите Symmantec полностью отключить себя, он просто не слушает вас и все равно делает свое дело.