Это потому, что:
Оператор удаления удаляет свойство из объекта. MDN Удалить
Запись b
, которая соответствует Object {val: true}
, удалена из a
. Запись c
в a
по-прежнему относится к этому объекту. Если вы попытаетесь удалить c.val
или a.b.val
, вы все равно сможете увидеть эффект, каскадный с другим.
То, что вы пытаетесь сделать, то есть освобождение данных и ожидание их каскадного перемещения, не происходит в javascript. Если у вас есть опыт C ++, подумайте о том, чтобы считать все объекты javascript подсчитанными. Я могу удалить ссылку на него (т.е. запись, которая «указывает» на этот объект), но я не могу удалить сам объект. Это чистая прерогатива движка javascript.
Fiddler действительно использует прокси. Я считаю, что установщик автоматически настраивает IE для использования прокси-сервера Fiddler. Вы также можете настроить другие браузеры для работы через тот же прокси-сервер, чтобы Fiddler профилировал и их сетевой трафик.
Подробнее здесь
Из примечаний MSDN к extends fiddler
Fiddler поддерживает механизм обработки событий JScript .NET, который позволяет пользователю автоматически изменять HTTP-запрос или ответ. Движок может изменять внешний вид сеанса в пользовательском интерфейсе (UI) Fiddler, чтобы привлечь внимание к ошибкам или вообще удалить неинтересные сеансы из списка.
I не знаю, как это делает скрипач, но это можно сделать с помощью многоуровневого поставщика услуг в Windows.
Из Википедии:
«Многоуровневый поставщик услуг (LSP) - это функция интерфейс поставщика услуг Microsoft Windows Winsock 2 (SPI). Многоуровневый поставщик услуг - это библиотека DLL, которая использует API Winsock для вставки себя в стек TCP / IP. Попав в стек, многоуровневый поставщик услуг может перехватывать и изменять входящий и исходящий Интернет трафик. Он позволяет обрабатывать весь трафик TCP / IP между Интернетом и приложениями, которые обращаются к Интернету (например, веб-браузер, почтовый клиент и т. Д.). "
Возможно, сетевой интерфейс работает в беспорядочном режиме. Таким образом WireShark может отслеживать сетевой трафик и отображать его.
Дополнительная информация: http://en.wikipedia.org/wiki/Promiscuous_mode
Думаю, вы не хотите слышать, что вы можете просто перехватить их на веб-сервере вместо клиента (если он локально) или использовать WPAC (автоконфигурация прокси).
Другой вариант - использовать такое программное обеспечение, как SocksCap, которое «отлаживает» процесс браузера (или веб-сервера), и всякий раз, когда он вызывает некоторые функции winsock, они перехватывают его и вызывают свой собственный код.
Библиотека для выполнения подобных действий (библиотека перехвата вызывает отлаженный процесс) объезд .
Другой вариант - использовать что-то вроде Wireshark . Следующее взято со страницы «О нас» на http://www.wireshark.org/
Wireshark - передовая в мире анализатор сетевых протоколов, и является де-факто (а часто и де-юре) стандарт во многих отраслях и образовательных учреждений.
Возможности
Wireshark имеет богатый набор функций, который включает следующее:
- Глубокая проверка сотен протоколов с добавлением новых время
- Запись в реальном времени и автономный анализ
- Стандартный трехпанельный браузер пакетов
- Мульти-платформенный: работает в Windows, Linux, OS X, Solaris, FreeBSD, NetBSD, и многие другие
- Захваченные сетевые данные можно просматривать через графический интерфейс или через TTY-режим. Утилита TShark
- Самые мощные фильтры отображения в отрасли
- Расширенный анализ VoIP
- Чтение / запись множества различных форматов файлов захвата: tcpdump (libpcap), Pcap NG, Catapult DCT2000, Cisco Secure IDS iplog, сетевой монитор Microsoft, Network General Sniffer® (сжатый и без сжатия), Sniffer® Pro и NetXray®, Сетевые инструменты Наблюдатель, NetScreen snoop, Novell LANalyzer, RADCOM WAN / LAN Analyzer, Шомити / Finisar Surveyor, Tektronix K12xx, Visual Networks Visual UpTime, WildPackets EtherPeek / TokenPeek / AiroPeek и многие другие другие
- Файлы захвата, сжатые с помощью gzip, могут быть распакованы на лету
- Текущие данные могут быть прочитаны из Ethernet, IEEE 802.11, PPP / HDLC, ATM, Bluetooth, USB, Token Ring, рамка Relay, FDDI и др. (В зависимости от ваша платформа)
- Поддержка дешифрования для многих протоколов, включая IPsec, ISAKMP, Kerberos, SNMPv3, SSL / TLS, WEP и WPA / WPA2
- К списку пакетов можно применить правила окраски для быстрого и интуитивного анализ
- Вывод можно экспортировать в XML, PostScript®, CSV или обычный текст
Другой способ перехвата трафика без прокси - это WCCP на поддерживаемом устройстве.
http://www.cisco.com/en/US/docs/ios/11_2/feature/guide/wccp.html
Fiddler - это прокси, написанный на C # и оборачивающий базовые сокеты.
Он регистрируется в WinINET с использованием соответствующего вызова API во время работы и отключается таким же образом . Большинство браузеров автоматически определяют настройку прокси WinINET и используют ее. Firefox этого не делает, поэтому текущие версии Fiddler устанавливают надстройку Firefox.
-EricLaw [MSFT]