En fejlfindingsproxy er nyttig, når en klient skal møde et svar, som den normale server sjældent producerer. Definer først klientadfærden, og vælg derefter den indgriben, der frembringer den tilstand.

“Anmodningen mislykkedes” er et for bredt testtilfælde. Et gyldigt HTTP-fejlsvar, et svar der aldrig ankommer, og en forbindelse afbrudt midt i en download kræver forskellige ting af programmet.

TilfældeAdfærd der skal undersøges
Et komplet HTTP-fejlsvarOm klienten læser status og anvender den tilsigtede fejlpolitik
Et forsinket svarOm brugeren kan annullere, og om timeouten gælder på det tilsigtede trin
Et uventet header- eller bodyfeltOm parsing og validering fejler tydeligt
En afbrudt udvekslingOm ufuldstændige data forbliver til at skelne fra et færdigt resultat

Brug en indgriben på det rigtige lag

Charles tilbyder breakpoints, der standser en anmodning eller et svar, før det videresendes. Den opfangede meddelelse kan undersøges og redigeres, lukkes igennem eller afbrydes. Værktøjet Rewrite anvender gentagelige ændringer på matchende headere, URL'er eller bodies. Begrænsning styrer båndbredde og tilføjet latenstid.

Disse kontroller kan afprøve en HTTP-klients adfærd, men en båndbreddegrænse er ikke en præcis model af tilfældigt IP-pakketab. En proxy kan bufre data, genbruge forbindelser og åbne en separat opstrømsforbindelse. Vælg et værktøj til netværkssvækkelse, når den krævede tilstand specifikt ligger under HTTP.

Hold hvert tilfælde fortolkeligt

Match den tilsigtede vært og sti snævert. Begynd med en normal udveksling, aktiver én ændring, og registrér hvad der blev ændret. Hvis et nyt forsøg når et andet endepunkt, så afgør, om samme regel skal påvirke det forsøg. Ellers kan en ubetinget omskrivning gøre enhver genopretningsvej til den oprindelige fejl.

Ved en upload eller en betalingslignende handling beviser et tabt svar ikke, at serveren afviste anmodningen. Medtag den uklarhed i gentagelsestilfældet i stedet for at hævde, at enhver transportfejl er sikker at gentage.

Inspektion eller redigering af HTTPS-indhold kræver, at klienten deltager i fejlfindingsproxyens TLS-inspektion. En proxy, der kun viderefører CONNECT, ser krypterede programbytes. Brug en isoleret testkonfiguration, og gendan derefter dens routing og tillidsopsætning, så senere observationer beskriver den normale klient.

Relaterede artikler