HTTP debug alati – Fiddler i HttpSpy

U uobičajenom poslu web developera posmatranje saobraćaja između web pregledača (browsera ;)) i servera je maltene dnevni posao – da li su svi elementi na mestu (404 greške), koje su veličine objekata koji se učitavaju, šta dolazi iz keša browsera a šta se dovlači, koliko HTTP zahteva je potrebno za stranu – sve ovo bitno utiče na odziv i svekupni utisak vaše web aplikacije.

Za gornje zadatke postoji mnogo komercijalnih proizvoda, da pomenem možda najpoznatiji Http Watch – dodatak za IE browser i sa cenom od 249$ (jedna licenca) pa sve do $9950 (kompanijska licenca).

No, ja sam veliki poklonik Freeware i Open Source rešenja, pa se trudim da za većinu poslova (i uspevam) nađem alternative komercijalnim rešenjima. Tako je i ovde:

U početku sam koristio HttpSpy – ovo je više klasičan proxy, koji se postavlja između browsera i servera i hvata sav saobraćaj. Moćna mogućnost ovog programa je simulator modema – smanjivanje brzine konekcije između 14.4k i 256k – na broadband konekcijama (za Srbiju je to 128/64 Kbps ;)) se lako zaboravi na 33kbps klijente – ovo toplo preporučujem u dizajn fazi programa a ne u finalnoj. HttpSpy i dalje koristim kada je potrebna provera za modemske korisnike.

Sada je pravi izbor, teška kategorija, Fiddler– HTTP debugging proxy. Napravljen od strane Microsofta, daleko je od prostog proksija – sem što “hvata” http saobraćaj, parsira ga i prezentuje, omogućava direktnu promenu request/response parova!

Fiddler podržava JScript.NET jezik – uz pomoć prostog event modela, možete se nakačiti na saobraćaj i ispitivati/menjati sadržaj i tako daleko, daleko brže naći i otkloniti problem u vašem kodu. Evo nekoliko jednostavnih primera:

1. Pretvaraj se da je upit došao od Google boot-a:

Event: OnBeforeRequest

Skript: oSession.oRequest["User-Agent"]="Googlebot/2.X (+http://www.googlebot.com/bot.html)";

2. Zabrani učitavanje CSS fajlova:

Event: OnBeforeRequest

Skript:

if (oSession.url.toLowerCase().indexOf(".css")>-1){
    oSession["ui-color"]="orange"; 
    oSession["ui-bold"]="true";
    oSession.oRequest.FailSession("CSS file");
}

Gomilu ovakvih primera imate i ovde – ScriptSamples biblioteka.

U svakom slučaju, kada jednom probate Fiddler, pitaćete se kako ste bez njega uopšte radili 🙂

Referenca:

  1. Fiddler – – Freeware, HTTP debugging proxy, analiza i mogućnost izmene http saobraćaja, samostalna aplikacija, potreban .Net framework
  2. HttpSpy – Freeware, HTTP proxy, hvatanje http saobraćaja i mogućnost simulacije nižih brzina prenosa, samostalna aplikacija, potreban .Net framework
  3. Http Watch – komercijalni, 249$ – 9950$, dodatak za Internet Explorer

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.