Kako zgraditi osnovni spletni strežnik z uporabo Go

Kako zgraditi osnovni spletni strežnik z uporabo Go

Go je zanimiv programski jezik za izdelavo sodobnih spletnih aplikacij in sistemske programske opreme. Po izdaji je povzročil veliko pozornosti in poganja storitve, kot so Docker, Kubernetes, Terraform, Dropbox in Netflix .

Poleg tega je zaradi robustne zbirke vgrajenih paketov Go odlična izbira za spletno programiranje. Ta članek vam bo pokazal, kako napisati osnovni spletni strežnik v Go.

Uvozite potrebne pakete

Paket net/HTTP nudi vse potrebno za izdelavo spletnega strežnika in odjemalca. Ta paket predstavlja nekaj uporabnih funkcij za upravljanje spletnega programiranja.

Lahko ga uvozite tako, da na začetek izvorne kode dodate spodnjo vrstico:

import "net/http"

Članek bo uporabljal tudi paket fmt za oblikovanje nizov in paket dnevnika za obravnavanje napak. Lahko jih uvozite posamično, kot je prikazano zgoraj, ali uvozite vse pakete z enim uvoznim stavkom:

import (
"fmt"
"log"
"net/http"
)

Po uvozu potrebnih paketov lahko nadaljujete s pisanjem glavne funkcije. Kar naprej in shranite izvorno datoteko s pripono .go . Če uporabljate Vim , uporabite spodnji ukaz, da shranite in zapustite Vim:

:wq server.go

Napišite glavno funkcijo

Programi Go se nahajajo neposredno znotraj glavne funkcije, primerno imenovane "main". Tukaj boste morali poklicati strežnik . Izvorni kodi dodajte naslednje vrstice in si oglejte, kaj počnejo:

func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

Primer je definiranje glavne funkcije s ključno besedo func . Go ima stroga pravila glede postavitve začetne oklepaje, zato se prepričajte, da je začetna opornica na pravi liniji. Prvi stavek v glavnem določa, da bo vse spletne zahteve do korenske poti ( "/" ) obravnaval indeks, funkcija tipa http.HandlerFunc .

Druga vrstica zažene spletni strežnik prek funkcije http.ListenAndServe . Strežniku sporoča, naj nenehno posluša dohodne zahteve HTTP na strežnikovih vratih 8080. Drugi parameter te funkcije je potreben za blokiranje programa do konca.

Ker http.ListenAndServe vedno vrne napako, primer ovije ta klic v log.Fatal call . Ta stavek beleži vsa sporočila o napakah, ustvarjena na strani strežnika.

Izvedite procesne funkcije

Kot lahko vidite, glavna funkcija kliče indeks funkcije obdelovalca za obdelavo zahtev odjemalcev. Vendar primer še ni definiral te funkcionalnosti za svoj strežnik.

Dodajmo potrebne stavke, da bo funkcija indeksa uporabna:

func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}

Ta funkcija sprejme dva različna argumenta tipa http.ResponseWriter in http.Request . Parameter http.ResponseWriter vsebuje odgovor strežnika na dohodno zahtevo v obliki objekta http.Request .

Funkcija Fprintf iz paketa fmt se uporablja za prikaz in obdelavo besedilnih nizov. Članek to uporablja za prikaz odziva strežnika na spletne zahteve. Nazadnje se element r.URL.Path[1:] uporablja za pridobivanje podatkov po korenski poti.

Dodajte vse preostale dele

Vaš spletni strežnik Go bo pripravljen, ko boste dodali vse preostale komponente. Koda bo videti takole:

import (
"fmt"
"log"
"net/http"
)
func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}
func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

Prva vrstica je potrebna za prevajanje te kode spletnega strežnika Go kot izvršljive datoteke.

Kako zgraditi osnovni spletni strežnik z uporabo Go

Prevedite to kodo spletnega strežnika Go kot izvršljivo datoteko


Več o požarnih zidovih, požarni zid Windows v sistemu Windows Server 2012

Več o požarnih zidovih, požarni zid Windows v sistemu Windows Server 2012

Požarni zid Windows z napredno varnostjo je požarni zid, ki deluje v sistemu Windows Server 2012 in je privzeto omogočen. Nastavitve požarnega zidu v sistemu Windows Server 2012 se upravljajo v Microsoftovi konzoli za upravljanje požarnega zidu Windows.

Kako spremeniti geslo za prijavo v modem in usmerjevalnik Vigor Draytek

Kako spremeniti geslo za prijavo v modem in usmerjevalnik Vigor Draytek

Pri spreminjanju skrbniškega gesla za prijavo modema in usmerjevalnika Vigor Draytek bodo uporabniki omejili nepooblaščen dostop do spremembe gesla za modem in s tem zavarovali pomembne omrežne informacije.

Kako enostavno pospešiti RAM z AMD Ryzen Master

Kako enostavno pospešiti RAM z AMD Ryzen Master

Na srečo lahko uporabniki računalnikov z operacijskim sistemom Windows s procesorji AMD Ryzen uporabljajo Ryzen Master za enostavno overklokiranje RAM-a, ne da bi se dotaknili BIOS-a.

7 načinov za odpravo napak prenosnika Windows, ki se ne polni prek USB-C

7 načinov za odpravo napak prenosnika Windows, ki se ne polni prek USB-C

Vrata USB-C so postala standard za prenos podatkov, video izhod in polnjenje na sodobnih prenosnikih Windows. Čeprav je to priročno, je lahko frustrirajoče, ko prenosni računalnik priključite na polnilnik USB-C in se ne polni.

Kako odpraviti napako Cannot Create Service v Ultraviewerju

Kako odpraviti napako Cannot Create Service v Ultraviewerju

Napaka Cannot Create Service na Ultraviewerju se pojavi, ko namestimo programsko opremo s kodo napake 1072.

Kako odpraviti napako, da ID ni prikazan na Ultraviewerju

Kako odpraviti napako, da ID ni prikazan na Ultraviewerju

Napaka, da ID na Ultraviewerju ni prikazan, bo vplivala na povezavo z oddaljenim računalnikom.

Kako uporabljati Ultraviewer za pošiljanje in prejemanje datotek

Kako uporabljati Ultraviewer za pošiljanje in prejemanje datotek

Ultraviewer nadzoruje računalnik na daljavo in ima način za pošiljanje in prejemanje datotek.

6 načinov za trajno brisanje datotek v sistemu Windows

6 načinov za trajno brisanje datotek v sistemu Windows

Običajno se pri brisanju datoteke v sistemu Windows datoteka ne izbriše takoj, ampak se shrani v koš. Po tem boste morali narediti še en korak: izprazniti smeti. Če pa tega drugega koraka ne želite narediti, vam bomo v spodnjem članku pokazali, kako trajno izbrisati datoteko.

Kako temni splet vpliva na varnost?

Kako temni splet vpliva na varnost?

Temni splet je skrivnostno mesto s slavnim slovesom. Iskanje temnega spleta ni težko. Druga stvar pa je naučiti se varno krmariti, še posebej, če ne veste, kaj počnete ali kaj lahko pričakujete.

Kaj je virus Adrozek? Kako se zaščititi pred virusom Adrozek

Kaj je virus Adrozek? Kako se zaščititi pred virusom Adrozek

Tehnično Adrozek ni virus. Je ugrabitelj brskalnika, znan tudi kot modifikator brskalnika. To pomeni, da je bila zlonamerna programska oprema nameščena v vaš računalnik brez vaše vednosti.