MTE forklarer: Hva er en RFC?
Du har sikkert sett begrepet RFC kastet rundt i forbindelse med protokoller og andre programmer du har brukt. Mange utviklere inkluderer referanser til RFC i endringsnotatene til nye versjoner av programmer som de slipper ut. Hvorfor er det sånn? Hva er denne mystiske RFC-en som hele tiden snakker om? Som med alle andre tilsynelatende uklare begreper på Internett, er det forklaringer, men de snakker ikke nødvendigvis på et språk som alle kan forstå. Og det er derfor MTE skal ta deg tid til å forklare RFCs til deg!
Forstå RFCs
For å forstå hva en RFC er, må man også forstå hva som har født dem, og hvorfor de var nødvendige på det tidspunktet de ble først opprettet.
For lang tid siden ble Internett kjørt på et lite nettverk av datamaskiner kjent som ARPANET. Det var et prosjekt fra USAs forsvarsdepartement. Når Internett ble født, var det behov for protokoller som kunne kommunisere slik at måten i hvilke datamaskiner som snakkes kunne være fullstendig standardisert. Derfor ble "RFC" -systemet (request for comments) født.
En RFC er et publisert dokument av en organisasjon kalt Internet Engineering Task Force (IETF). RFCs holder reglene for hver enkelt protokoll du bruker til å kommunisere over nettet. Du finner svært kjente som RFC 2616 (HTTP) og RFC 3920 (XMPP, brukt i Facebook Messenger). Alle disse tingene er tilgjengelige for alle å se på IETFs RFC-database.
Opprinnelig var RFCs - som navnet antyder - dokumenter som ber om kommentarer. Folk ville kunne diskutere hvordan protokollene ville fungere bedre og hvordan de kan være katastrofalt feil. I dag er RFC-er mer en erklæring enn en forespørsel. De viser bare hvordan alt fungerer og det handler om det.
Enkeltvis vil mange RFCs gi offentligheten alle de opplysninger de trenger å vite for å kunne forstå hvordan Internett-protokoller fungerer. Men ikke alle RFC er erklæringer fra Internett-protokoller. Noen av dem er der for å vise utviklere hva de beste praksiser er for å samhandle med en protokoll eller til og med å gi informasjon om andre generelle emner. Andre er bare vitser (som dette April Fools 'RFC). Dessuten finner du ikke alle protokoller på IETFs database. En rekke av dem (som BitTorrent-protokollen) holdes i andre databaser.
Hvorfor RFC er viktige
Da jeg først utviklet programmer og plugins som brukte HTTP-protokollen, trengte jeg et referansepunkt for å lære hvordan det virket. Det spiller ingen rolle hvor mye du vet hvordan du skal kode; Hvis du ikke kan finne ut hvordan en protokoll fungerer, kan du ikke bruke den riktig. RFC jeg koblet til ovenfor (2616) var svært nyttig i å forstå noen detaljer.
Poenget jeg får på er at RFCs kan brukes som en referanseguide til protokoller som ennå ikke er fullstendig forklart i enklere vilkår. Det hjelper pionerene enkelt å finne de ressursene de trenger for å utvikle programmene du elsker. Der har du det!
Noen flere spørsmål?
Hvis du etter at du har lest dette, fortsatt har spørsmål om RFC, IETF eller andre relaterte organisasjoner, vennligst legg dem inn i en kommentar nedenfor.