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

7.10.2005

Programi, Programiranje, Web

Dejan Vesić

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Ostavite Vaš komentar

XHTML: Dozvoljeni tagovi: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>