Prestaň sa báť protokolov za 2 minúty! Vytvoril som jeden aj pre svoj toastovač.

Čo ti napadne, ak poviem HTTP protocol? Alebo FTP protokol? A čo tak Telnet? Jasné, vieme kde a prečo sa využívajú Ale čo tam znamená to slovo protokol? Pre mňa to bol dlho záhadný pojem: Hmm, asi nejaká mágia čo teleportuje obsah zo servera do môjho browsera. Pamätám si ale, že keď som to konečne pochopil, tak ma to dosť pobavilo. to je fakt také očividné! Keď pochopíme čo to vlastne znamená protocol v podstate pochopíme aj všetky ostatné protokoly. Minimálne teda ich podstatu. Bez toho, aby som to ďalej zbytočne naťahoval: Protocol je v networkingu množina pravidiel a usmernení, diktujúce ako by sa mali dáta prenášať cez sieť. Polopatisticky povedané: If-else statementy rozparsovaných stringov prenášaných na internete Nižšie je jednoduchý protokol v Cčku zbúchaný na kolene, s ktorým by som mohol ovládať ako dlho trvá môjmu toastovaču urobiť jeden toast podľa toho, či sa ponáhľam alebo nie: #include <stdio.h> #include <string.h> # define SENDER "Me" # define RECEIVER "My toaster" # define PROTOCOL_ID "MAKE_MY_TOAST" void send_data(char *data, char *headers) { char protocol_header100]; sprintf(protocol_header, "%s %s -> %s (%s)", SENDER, PROTOCOL_ID, RECEIVER, data); printf("Sending data: %s\n", protocol_header); } void receive_data(char *data, char *headers) { if (strncmp(SENDER, headers0], strlen(SENDER)) == 0) { printf("Data received: %s\n", data); } else { printf("Invalid data received.\n"); } } int main() { char headers]20] = {SENDER,PROTOCOL_ID,RECEIVER} char am_i_in_a_hurry] = "YES"; send_data(am_i_in_a_hurry,headers); receive_data(am_i_in_a_hurry,headers); return 0; } Chápeme čo sa deje? Niekto niekomu pošle string, ten druhý niekto ho rozparsuje a na základe predom daných pravidiel (teda na základe porotokolu) pochopí, čo v ňom je. Teraz, ti napríklad ukážem jednoduchý HTTP GET request. Zrazu je už cca vidno, čo všetky tie headrse asi znamenajú: GET /index.html HTTP/1.1 Host: www.michalpavlis.sk User-Agent: SomeBrowser/1.0 Accept: text/html,application/xhtml+xml X-XSS-Protection: 1 Accept-Encoding: gzip, deflate Connection: keep-alive Ak by sme nevedeli absolútne nič o HTTP requestoch a vedeli čo je protocol, možno by sme aspoň pochopili, že ide o inštrukcie. Hlavne v prvom riadku. Keby sme chceli ešte väčšiu párty: Predstav si, že som ti hackol počítač a uložil si na svoj súkromný server heslo od tvojho Internet Bankingu. Z neznámych dôvodov sa k ním musím dostať cez Telnet: Stačia nám len tieto dva headre, aby bol request v súlade s HTTP protokolom a aby sme dostali naspäť plnohodnotnú odpoveď (tvoje heslo som vyfotošopoval): Toto sú samozrejme iba jednoduché príklady. Naozajstné protokoly sú o trošku zložitejšie (ale fakt len o kus). Mať dobre definovaný protokol je dôležité z mnohých praktických, bezpečnostných a funkčných dôvodov. To samozrejme znamená, že musia mať dobre-organizovanú a priehľadnú dokumentáciu čo znamená, že najlepšie bude mať pravidlá na to, ako dokumentovať protokoly. Tým sa dostávame k RFC, a.k.a protokol k písaniu protokolov, čím sa vlastne uzatvára kruh Protokol = pravidlá. A to je vlastne všetko, čo potrebuješ vedieť. Od teraz sa už nemusíš nikdy báť žiadného zo stoviek existujúcich internetových protokolov. The post Prestaň sa báť protokolov za 2 minúty! Vytvoril som jeden aj pre svoj toastovač. appeared first on Michal Pavliš.

prejsť na článok

Ako vám jedno banálne rozhodnutie zmení život?

Takto vám rozhodnutie zmení život: A aj to úplne jednoduché a obyčajné Uvediem metaforicky príklad na porovnanie: Človek začne chodiť do fitka a cvičiť. Po prvých 10 tréningoch na sebe neuvidí skoro ŽIADNU zmenu. Jeho telo sa nijako zvlášť nezmení, akurát

prejsť na článok

Tlačová správa: Heger uskutočnil podvod na voličoch

HLAS sociálna demokracia vyzýva Eduarda Hegera, aby po svojom oznámení odchodu z OĽANO vytvoril podmienky na menovanie úradnickej vlády a čo... Zdroj

prejsť na článok

Tlačová správa: Vlčan by mal nakúpiť slovenské poľnohospodárske produkty

HLAS sociálna demokracia vyzýva poverenú Hegerovu vládu a ministra Vlčana, aby konečne začal konať a vytvoril podmienky na okamžitý... Zdroj

prejsť na článok

20 rokov 22 cieľov ani jeden splnenýaj takto sa riadi na Slovensku

Problematike železničnej dopravy sa venujú viaceré programové vyhlásenia vlád, národné programy reforiem, ako aj množstvo strategických dokumentov (nielen) rezortu dopravy. Problémov, ktoré v súčasnosti trápia železničnú dopravu, je veľa. Od nevyhovujúceh

prejsť na článok

PHOTO

Paša Pohľad Prvé kroky

prejsť na článok