Pagdidisenyo ng mga kaso ng pagpalya gamit ang debugging proxy
Pumili ng mga pagbabago sa HTTP, pagkaantala at naputol na palitan ayon sa gawi ng kliyente na kailangang subukan ng pagsubok na nakabatay sa proxy.
Kapaki-pakinabang ang debugging proxy kapag kailangang makaranas ang kliyente ng tugon na bihirang gawin ng normal na server. Tukuyin muna ang gawi ng kliyente, pagkatapos ay piliin ang interbensyong gumagawa ng kalagayang iyon.
Ang “nabigo ang kahilingan” ay masyadong malawak na kaso ng pagsubok. Ang wastong tugon ng error sa HTTP, tugon na hindi kailanman dumarating at koneksyong naputol sa gitna ng pag-download ay humihingi ng magkakaibang bagay sa aplikasyon.
| Kaso | Gawing susuriin |
|---|---|
| Isang kumpletong tugon ng error sa HTTP | Kung binabasa ng kliyente ang kalagayan at inilalapat ang nilalayong patakaran sa error |
| Isang naantalang tugon | Kung makakansela ang gumagamit at kung nalalapat ang timeout sa nilalayong yugto |
| Isang hindi inaasahang field ng header o body | Kung malinaw na nabibigo ang pag-parse at pagpapatunay |
| Isang naputol na palitan | Kung nananatiling makikilala ang hindi kumpletong datos mula sa tapos na resulta |
Gumamit ng interbensyon sa tamang antas
Naglalaan ang Charles ng mga breakpoint na pumipigil sa kahilingan o tugon bago ito ipasa. Maaaring suriin at i-edit ang naharang na mensahe, hayaang dumaan o kanselahin. Inilalapat ng tool na Rewrite nito ang mga paulit-ulit na pagbabago sa tumutugmang header, URL o body. Kinokontrol ng throttling ang bandwidth at idinagdag na latency.
Maaaring subukan ng mga kontrol na ito ang gawi ng isang kliyente ng HTTP, ngunit ang limitasyon sa bandwidth ay hindi tumpak na modelo ng random na pagkawala ng packet ng IP. Maaaring mag-buffer ng datos ang proxy, gamitin muli ang mga koneksyon at magbukas ng hiwalay na koneksyon sa upstream. Pumili ng tool sa pagpapahina ng network kapag ang kinakailangang kalagayan ay partikular na nasa ilalim ng HTTP.
Panatilihing maipapaliwanag ang bawat kaso
Itugma nang makitid ang nilalayong host at landas. Magsimula sa normal na palitan, paganahin ang isang pagbabago at itala kung ano ang binago. Kung ang muling pagtatangka ay umabot sa ikalawang endpoint, magpasya kung dapat maapektuhan ng parehong tuntunin ang pagtatangkang iyon. Kung hindi, maaaring gawing orihinal na pagpalya ng isang walang kondisyong muling pagsulat ang bawat landas ng pagbawi.
Sa isang pag-upload o operasyong parang pagbabayad, hindi pinapatunayan ng nawalang tugon na tinanggihan ng server ang kahilingan. Isama ang kalabuan na iyon sa kaso ng muling pagtatangka sa halip na igiit na ligtas na ulitin ang bawat pagpalya sa paghahatid.
Ang pagsuri o pag-edit ng nilalaman ng HTTPS ay nangangailangan na lumahok ang kliyente sa setup ng inspeksyon ng TLS ng debugging proxy. Ang proxy na nagdadala lamang ng CONNECT ay nakakakita ng naka-encrypt na byte ng aplikasyon. Gumamit ng hiwalay na konfigurasyon ng pagsubok at ibalik pagkatapos ang routing at mga setting ng pagtitiwala nito, upang ilarawan ng mga susunod na obserbasyon ang normal na kliyente.