Jednou ze základních dovedností vývojáře a správce systému je ladění aplikace, rozhraní API nebo služeb a znalost správných nástrojů vám zachrání život.
Table of Contents
Co je ladění?
Pokud sledujete kriminální dramata, pak vám myšlenka ladění nebude cizí. Ladění je proces a zahrnuje spoustu taktiky. Je to systematické hledání a řešení problémů a chyb v programu.
Kromě toho ladění řeší všechny problémy, které mohou bránit správnému fungování softwaru nebo v tomto případě webové aplikace. Proces ladění vašeho API nebo webové aplikace primárně zahrnuje pokus o reprodukování problému.
V důsledku toho vyvstává potřeba odeslat požadavek API. Tady je problém. Většina prohlížečů vám zabrání změnit hlavičku původu a dokonce i omezení velikosti adresy URL.
Jinými slovy, k reprodukci problému může být nutné provést některé manipulace s HTTP. A to bude vyžadovat nějaké výkonné ladicí nástroje.
Všechny součásti nebo taktiky procesu ladění zahrnují;
- Interaktivní ladění
- Analýza řídicího toku
- Testování jednotek
- Integrační testování
- Analýza souborů protokolu
- Sledování
- Výpisy paměti
- Profilování
Je zajímavé vědět, že někteří HTTP klienti, tj. webové prohlížeče, mají vestavěné nástroje pro vývojáře webu. Tyto nástroje lze použít k ladění rozhraní API. S ohledem na to není nutné psát váš ladicí nástroj.
Co je HTTP klient?
Předpokládejme, že uvažujete o vybudování systému, který využívá protokol HTTP pro distribuovanou komunikaci nebo podporující HTTP, jako je webová aplikace. Pak se možná budete chtít podívat na komponentu HTTP klienta.
Protokol HTTP neboli HyperText Transfer Protocol je důvodem, proč můžete komunikovat nebo přenášet data na webu pokaždé, když zadáte adresu URL. Jedná se o aplikační protokol, který umožňuje procházení internetu.
Nyní je klient HTTP systém, který odesílá požadavky na server v textovém formátu HTTP a následně přijímá odpověď ze stejného serveru.
Je nezbytné znát rozdíly mezi HTTP klientem a HTTP serverem.
Rozdíly mezi HTTP klientem a serverem
Zatímco HTTP klientem jsou často webové prohlížeče nebo nástroje, HTTP servery fungují jako proxy k aplikačním serverům.
Jednoduše řečeno, vaše smartphony, televizory, PlayStation, opravdu jakékoli zařízení, které se může připojit k internetu, pravděpodobně používá klienta HTTP.
Podobně je server HTTP síťový počítač, ke kterému se klient HTTP připojuje. Vztah, který sdílejí, je spíše konverzační. Kde HTTP klient odešle požadavek a HTTP server odpoví.
Příklady HTTP požadavků
Žádosti
Výsledky
DOSTAT
Požaduje celý zdroj
HLAVA
Požaduje zdroj bez těla
POŠTA
Přidá obsah do existujícího webového zdroje
DÁT
Upraví existující webový zdroj
VYMAZAT
Odebere zadaný zdroj
STOPA
Zobrazuje změny webového zdroje
MOŽNOSTI
Zobrazuje dostupné metody HTTP pro adresu URL
PŘIPOJIT
Převede připojení požadavku na transparentní tunel TCP/IP
NÁPLAST
Částečně upravuje webový zdroj
Ladění webu nebylo nikdy jednodušší. S těmito nástroji si konečně odpočinete, zatímco budete dělat to, co vás baví.
HTTPie
Konečným cílem HTTPie je vytvořit uživatelsky přívětivé rozhraní CLI s webovými službami. Tento nástroj poskytuje příkaz HTTP pro odesílání požadavků, vše s použitím přirozené syntaxe.
HTTPie lze použít pro ladění, testování a připojení k serverům HTTP. Podporuje HTTP, HTTPS a proxy.
Zvýraznění
- Vestavěný systém podpory JSON
- Lze nainstalovat na Windows, MacOS a Linux
- Vlastní HTTP hlavičky a metoda
- Odešlete formuláře
- Offline mód
- Základní a digestivní ověřování
- Intuitivní syntaxe
Nechcete instalovat HTTPie lokálně?
Žádný strach, teď to můžete spustit online.
Houslista
Houslista je multiplatformní webový server pro ladění proxy. Může pomoci manipulovat s webovými relacemi, kontrolovat provoz HTTPS a monitorovat provoz mezi vaším počítačem a internetem.
Fiddler můžete nainstalovat na Windows, macOS a Linux. Je to pravděpodobně nejoblíbenější nástroj pro ladění provozu.
RESTER
RESTER je k dispozici jako rozšíření pro Google Chrome a Firefox.
Zvýraznění
- Autorizační hlavičky s ověřováním Basic nebo Auth2
- Zobrazit historii požadavků
- Provádějte požadavky pomocí jakékoli metody, adresy URL, těla a vlastních záhlaví
- Testování a ladění API
Tlapka
Tlapka je plnohodnotný HTTP klient, který umožňuje odesílat všechny druhy HTTP požadavků. S Paw můžete otestovat svá API a také prozkoumat nová.
Paw je vytvořen výhradně pro macOS a má funkce, které se snadno používají. Můžete importovat a generovat swagger, RAML atd. a podporuje schéma JSON.
Zvýraznění
- Podporuje více ověřování, jako je základní, OAuth, jestřáb, digest
- Dynamické hodnoty
- Prostředí
- Rozšířit pomocí rozšíření založených na java-scriptu
- Soubory cookie a manipulace s relacemi
Žadatel
Žadatel je robustní klient, který kombinuje funkce HTTPie, Postman a Paw. Funguje pouze s editorem Sublime Text.
Zvýraznění
- Podporuje JSON Schemer
- Vyžádejte si sbírky a historii
- Barevný výstup se zvýrazněním syntaxe
- Moderní UX
- Soubory cookie, vlastní záhlaví, tělo požadavku a parametry dotazu lze snadno nastavit.
- Podpora GraphQL
Listonoš
Vždy pracujete na API?
Postmana si zamilujete.
Listonoš je bezpochyby jedním z nejpopulárnějších HTTP klientů používaných pro ladění webových aplikací. Umožňuje rychlejší a snadnější vývoj API.
Zvýraznění
- Obsahuje výkonné GUI s uživatelsky přívětivým rozhraním
- Historie požadavků
- Automatizované testování pomocí sběrače
- Flexibilní monitorování API
- Podpora REST, GraphQL, SOAP
- Podpora více datových částí včetně JSON a HTML
kučera
cURL je nástroj příkazového řádku, který se používá k odesílání dat pomocí syntaxe URL.
Dobrá věc je, že cURL je standardně nainstalován na většině operačních systémů s příchutí UNIX. Podporuje mnoho protokolů, včetně FTP, LDAP, POP3, SMTP, GOPHER, IMAP, HTTP, HTTPS a SCP.
Charles Proxy
Jak název říká, Charles proxy je HTTP a reverzní proxy. Funguje tak, že přes něj směruje místní provoz.
Charles můžete použít pro SSL proxy, omezení šířky pásma, ladění AJAX, body přerušení a další.
Pískat
Pískat je nástroj pro ladění napříč platformami založený na NodeJS pro zachycení a manipulaci s provozem HTTP, HTTPS, WebSocket a TCP.
Nejprve musíte nainstalovat NodeJS a poté Whistle pomocí npm.
npm install -g whistle
Vždy můžete rozšířit funkce pomocí pluginu, pokud výchozí funkce nevyhovují vašim požadavkům.
mitmproxy
mitmproxy je populární open-source HTTPS proxy mezi bezpečnostními výzkumníky. Použijte jej jako CLI, web nebo Python API.
Webové rozhraní poskytuje vzhled a chování vývojářských nástrojů Chrome. Podporuje také HTTP/2.
Proxyman
Podobně jako výše zmíněná Paw, Proxyman je prémiová nativní proxy aplikace pro ladění webu pro macOS.
Funguje jako man-in-the-middle pro webový provoz a nabízí mnoho funkcí, včetně následujících.
- SSL proxy
- Opakujte žádosti
- Protobuf
- Skriptování ReWrite
- Místní a vzdálená mapa
- Filtrování obsahu
- Zvýraznění syntaxe
Uživatelské rozhraní Proxyman je velmi přátelské k lidem.
HTTP Toolkit
HTTP Toolkit je open-source HTTP debugger. Je to desktopová aplikace dostupná pro Windows, Mac a Linux.
Na rozdíl od jiných ladicích programů HTTP poskytuje HTTP Toolkit automaticky cílené odposlechy pro konkrétní klienty, včetně nastavení HTTPS, namísto zachycování všeho z celého vašeho počítače, a tak se vyhne zachycení irelevantního provozu nebo narušení jiných aplikací.
Jedním kliknutím můžete zachytit okna prohlížeče (včetně Chrome, Firefox a dalších), backendové/skriptovací jazyky jako Node.js, Python a PHP, jakékoli nástroje příkazového řádku, aplikace Electron nebo zařízení a emulátory Android (včetně systémových úroveň odposlechu HTTPS).
HTTP Toolkit podporuje standardní funkce HTTP debuggeru včetně bodů přerušení a přepisování HTTP(S) provozu, filtrování a vyhledávání shromážděného provozu a zvýrazňování a automatické formátování pro mnoho oblíbených formátů těla požadavků a odpovědí. Základní funkce pro zachycení, kontrolu a přepis HTTP(S) jsou k dispozici zdarma, zatímco některé pokročilé prémiové funkce, jako je import/export a automatická falešná pravidla, vyžadují placený účet.
Závěr
Výše uvedení klienti HTTP a server proxy pro ladění webu vám mohou pomoci v mnoha ohledech. Většina z nich je zdarma nebo nabízí zkušební verzi, takže některé z nich vyzkoušejte, abyste viděli, co vám vyhovuje.
Hodně štěstí při odstraňování problémů!