Kā izveidot pamata tīmekļa serveri, izmantojot Go

Kā izveidot pamata tīmekļa serveri, izmantojot Go

Go ir interesanta programmēšanas valoda modernu tīmekļa lietojumprogrammu, kā arī sistēmas programmatūras izveidei. Pēc izlaišanas tas radīja milzīgu ažiotāžu un nodrošina tādus pakalpojumus kā Docker, Kubernetes, Terraform, Dropbox un Netflix .

Turklāt Go spēcīgā iebūvēto pakešu kolekcija padara to par lielisku izvēli tīmekļa programmēšanai. Šajā rakstā tiks parādīts, kā lietotnē Go uzrakstīt pamata tīmekļa serveri .

Importējiet nepieciešamās paketes

Net/HTTP pakotne nodrošina visu nepieciešamo, lai izveidotu tīmekļa serveri un klientu. Šī pakotne piedāvā dažas noderīgas funkcijas tīmekļa programmēšanai.

Varat to importēt, avota koda sākumā pievienojot tālāk norādīto rindiņu.

import "net/http"

Rakstā tiks izmantota arī pakotne fmt , lai formatētu virknes, un žurnāla pakotne , lai apstrādātu kļūdas. Varat tos importēt atsevišķi, kā parādīts iepriekš, vai importēt visas pakotnes, izmantojot vienu importēšanas paziņojumu:

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

Pēc nepieciešamo pakotņu importēšanas varat turpināt rakstīt galveno funkciju. Turpiniet un saglabājiet avota failu ar paplašinājumu .go . Ja izmantojat Vim , izmantojiet tālāk norādīto komandu, lai saglabātu un izietu no Vim:

:wq server.go

Uzrakstiet galveno funkciju

Go programmas atrodas tieši galvenajā funkcijā, kuras nosaukums ir "galvenais". Šeit jums būs jāveic servera zvans . Pievienojiet avota kodam šādas rindiņas un skatiet, ko tās dara:

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

Piemērā ir definēta galvenā funkcija, izmantojot atslēgvārdu func . Go ir stingri noteikumi par atvēršanas kronšteina novietojumu, tāpēc pārliecinieties, vai sākuma stiprinājums atrodas uz pareizās līnijas. Pirmais paziņojums galvenajā definē, ka visi tīmekļa pieprasījumi saknes ceļam ( "/" ) tiks apstrādāti, izmantojot indeksu, kas ir http.HandlerFunc tipa funkcija .

Otrajā rindā tiek palaists tīmekļa serveris, izmantojot funkciju http.ListenAndServe . Tas signalizē serverim, lai tas nepārtraukti klausās ienākošos HTTP pieprasījumus servera portā 8080. Otrais šīs funkcijas parametrs ir nepieciešams, lai bloķētu programmu līdz beigām.

Tā kā http.ListenAndServe vienmēr atgriež kļūdu, piemērā šis izsaukums tiek iekļauts žurnālā.Fatal call . Šis paziņojums reģistrē visus servera pusē ģenerētos kļūdu ziņojumus.

Ieviest apstrādes funkcijas

Kā redzat, galvenā funkcija izsauc apdarinātāja funkcijas indeksu, lai apstrādātu klientu pieprasījumus. Tomēr piemērā šī funkcionalitāte savam serverim vēl nav definēta.

Pievienosim nepieciešamos paziņojumus, lai indeksa funkcija būtu lietojama:

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

Šai funkcijai ir nepieciešami divi dažādi argumenti: http.ResponseWriter un http.Request . Parametrs http.ResponseWriter satur servera atbildi uz ienākošo pieprasījumu objekta http.Request veidā .

Funkcija Fprintf no fmt pakotnes tiek izmantota, lai parādītu un apstrādātu teksta virknes. Rakstā tas tiek izmantots, lai parādītu servera atbildi uz tīmekļa pieprasījumiem. Visbeidzot, elements r.URL.Path[1:] tiek izmantots, lai iegūtu datus pēc saknes ceļa.

Pievienojiet visas atlikušās daļas

Jūsu Go tīmekļa serveris būs gatavs, tiklīdz būsiet pievienojis visus atlikušos komponentus. Kods izskatīsies šādi:

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))
}

Pirmā rinda ir nepieciešama, lai apkopotu šo Go tīmekļa servera kodu kā izpildāmu failu.

Kā izveidot pamata tīmekļa serveri, izmantojot Go

Kompilējiet šo Go tīmekļa servera kodu kā izpildāmu failu


Uzziniet par ugunsmūriem, Windows ugunsmūri operētājsistēmā Windows Server 2012

Uzziniet par ugunsmūriem, Windows ugunsmūri operētājsistēmā Windows Server 2012

Windows ugunsmūris ar papildu drošību ir ugunsmūris, kas darbojas sistēmā Windows Server 2012 un ir iespējots pēc noklusējuma. Ugunsmūra iestatījumi operētājsistēmā Windows Server 2012 tiek pārvaldīti Windows ugunsmūra Microsoft pārvaldības konsolē.

Kā nomainīt Vigor Draytek modema un maršrutētāja pieteikšanās paroli

Kā nomainīt Vigor Draytek modema un maršrutētāja pieteikšanās paroli

Mainot Vigor Draytek modema un maršrutētāja pieteikšanās administratora lapas paroli, lietotāji ierobežos nesankcionētu piekļuvi modema paroles maiņai, nodrošinot svarīgu tīkla informāciju.

Kā viegli pārspīlēt RAM, izmantojot AMD Ryzen Master

Kā viegli pārspīlēt RAM, izmantojot AMD Ryzen Master

Par laimi, Windows datoru lietotāji, kuros darbojas AMD Ryzen procesori, var izmantot Ryzen Master, lai viegli pārspīlēti RAM, nepieskaroties BIOS.

7 veidi, kā novērst Windows klēpjdatora kļūdas, kas netiek uzlādētas, izmantojot USB-C

7 veidi, kā novērst Windows klēpjdatora kļūdas, kas netiek uzlādētas, izmantojot USB-C

USB-C ports ir kļuvis par datu pārsūtīšanas, video izvades un uzlādes standartu mūsdienu Windows klēpjdatoros. Lai gan tas ir ērti, tas var būt kaitinoši, ja pievienojat klēpjdatoru USB-C lādētājam un tas netiek uzlādēts.

Kā novērst kļūdu nevar izveidot pakalpojumu Ultraviewer

Kā novērst kļūdu nevar izveidot pakalpojumu Ultraviewer

Kļūda nevar izveidot pakalpojumu Ultraviewer rodas, kad mēs instalējam programmatūru ar kļūdas kodu 1072.

Kā novērst kļūdu, kas saistīta ar ID nerādīšanu Ultraviewer

Kā novērst kļūdu, kas saistīta ar ID nerādīšanu Ultraviewer

Kļūda, ja Ultraviewer netiek rādīts ID, ietekmēs attālo datora savienojumu.

Kā izmantot Ultraviewer, lai nosūtītu un saņemtu failus

Kā izmantot Ultraviewer, lai nosūtītu un saņemtu failus

Ultraviewer kontrolē datoru attālināti, un tam ir režīms failu nosūtīšanai un saņemšanai.

6 veidi, kā neatgriezeniski izdzēst failus sistēmā Windows

6 veidi, kā neatgriezeniski izdzēst failus sistēmā Windows

Parasti, dzēšot failu operētājsistēmā Windows, fails netiek dzēsts uzreiz, bet gan tiks saglabāts atkritnē. Pēc tam jums būs jāveic vēl viena darbība: iztukšojiet miskasti. Bet, ja nevēlaties veikt šo otro darbību, tālāk esošajā rakstā mēs parādīsim, kā neatgriezeniski izdzēst failu.

Kā tumšais tīmeklis ietekmē drošību?

Kā tumšais tīmeklis ietekmē drošību?

Tumšais tīmeklis ir noslēpumaina vieta ar izcilu reputāciju. Tumšā tīmekļa atrašana nav grūta. Tomēr mācīšanās, kā tajā droši orientēties, ir cits jautājums, it īpaši, ja nezināt, ko darāt vai ko gaidīt.

Kas ir Adrozek vīruss? Kā pasargāt sevi no Adrozek vīrusa

Kas ir Adrozek vīruss? Kā pasargāt sevi no Adrozek vīrusa

Tehniski Adrozeks nav vīruss. Tas ir pārlūkprogrammas nolaupītājs, kas pazīstams arī kā pārlūkprogrammas modifikators. Tas nozīmē, ka jūsu datorā tika instalēta ļaunprātīga programmatūra bez jūsu ziņas.