Een debugging-proxy is nuttig wanneer een client een antwoord moet tegenkomen dat de normale server zelden produceert. Definieer eerst het clientgedrag en kies dan de ingreep die die toestand veroorzaakt.

‘Het verzoek is mislukt’ is een te breed testgeval. Een geldig HTTP-foutantwoord, een antwoord dat nooit aankomt en een verbinding die halverwege een download wordt verbroken, vragen verschillende dingen van de toepassing.

GevalTe onderzoeken gedrag
Een volledig HTTP-foutantwoordOf de client de status leest en het bedoelde foutbeleid toepast
Een vertraagd antwoordOf de gebruiker kan annuleren en of de time-out in de bedoelde fase geldt
Een onverwacht header- of bodyveldOf parsing en validatie duidelijk mislukken
Een onderbroken uitwisselingOf onvolledige gegevens onderscheidbaar blijven van een voltooid resultaat

Gebruik een ingreep op de juiste laag

Charles biedt breekpunten die een verzoek of antwoord tegenhouden voordat het wordt doorgestuurd. Het onderschepte bericht kan worden onderzocht en bewerkt, doorlaten of afgebroken. De tool Rewrite past herhaalbare wijzigingen toe op overeenkomende headers, URL's of bodies. Beperking regelt bandbreedte en toegevoegde latentie.

Deze besturingen kunnen het gedrag van een HTTP-client uitlokken, maar een bandbreedtelimiet is geen nauwkeurig model van willekeurig IP-pakketverlies. Een proxy kan gegevens bufferen, verbindingen hergebruiken en een aparte upstreamverbinding openen. Kies een netwerkverslechteringstool wanneer de vereiste toestand specifiek onder HTTP ligt.

Houd elk geval interpreteerbaar

Laat de bedoelde host en het pad nauw overeenkomen. Begin met een normale uitwisseling, schakel één wijziging in en leg vast wat er is veranderd. Als een nieuwe poging een tweede eindpunt bereikt, beslis dan of dezelfde regel die poging moet beïnvloeden. Anders kan een onvoorwaardelijke herschrijving elk herstelpad in de oorspronkelijke fout veranderen.

Bij een upload of een betalingsachtige handeling bewijst een verloren antwoord niet dat de server het verzoek heeft geweigerd. Neem die onduidelijkheid op in het geval van de nieuwe poging in plaats van te beweren dat elke transportfout veilig te herhalen is.

Het inspecteren of bewerken van HTTPS-inhoud vereist dat de client deelneemt aan de TLS-inspectieopstelling van de debugging-proxy. Een proxy die alleen CONNECT doorgeeft, ziet versleutelde toepassingsbytes. Gebruik een geïsoleerde testconfiguratie en herstel daarna de routing en vertrouwensinstellingen, zodat latere waarnemingen de normale client beschrijven.

Gerelateerde artikelen