Jak zbudować podstawowy serwer WWW przy użyciu Go

Go to ciekawy język programowania do budowy nowoczesnych aplikacji internetowych, a także oprogramowania systemowego. Wywołało to ogromne zamieszanie po wydaniu i obsługuje usługi takie jak Docker, Kubernetes, Terraform, Dropbox i Netflix .

Co więcej, solidna kolekcja wbudowanych pakietów Go sprawia, że ​​jest to doskonały wybór do programowania w Internecie. W tym artykule dowiesz się, jak napisać podstawowy serwer WWW w Go.

Zaimportuj niezbędne pakiety

Pakiet net/HTTP zapewnia wszystko, co potrzebne do stworzenia serwera WWW i klienta. Ten pakiet zawiera kilka przydatnych funkcji do obsługi programowania WWW.

Możesz go zaimportować, dodając poniższą linię na początku kodu źródłowego:

import "net/http"

W artykule wykorzystany zostanie także pakiet fmt do formatowania ciągów znaków oraz pakiet log do obsługi błędów. Możesz zaimportować je pojedynczo, jak pokazano powyżej, lub zaimportować wszystkie pakiety za pomocą jednej instrukcji importu:

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

Możesz kontynuować pisanie funkcji głównej po zaimportowaniu niezbędnych pakietów. Śmiało, zapisz plik źródłowy z rozszerzeniem .go . Jeśli używasz Vima , użyj poniższego polecenia, aby zapisać i wyjść z Vima:

:wq server.go

Napisz główną funkcję

Programy Go znajdują się bezpośrednio w funkcji głównej, trafnie nazwanej „główną”. Tutaj będziesz musiał wykonać połączenie z serwerem . Dodaj następujące linie do kodu źródłowego i zobacz, co robią:

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

Przykładem jest zdefiniowanie funkcji głównej za pomocą słowa kluczowego func . W grze Go obowiązują ścisłe zasady dotyczące pozycji nawiasu otwierającego, więc upewnij się, że nawias początkowy znajduje się na właściwej linii. Pierwsza instrukcja w main definiuje, że wszystkie żądania internetowe kierowane do ścieżki głównej ( „/” ) będą obsługiwane przez indeks, funkcję typu http.HandlerFunc .

Druga linia uruchamia serwer WWW poprzez funkcję http.ListenAndServe . Sygnalizuje serwerowi, aby stale nasłuchiwał przychodzących żądań HTTP na porcie serwera 8080. Drugi parametr tej funkcji potrzebny jest do zablokowania programu do końca.

Ponieważ http.ListenAndServe zawsze zwraca błąd, przykład otacza to wywołanie wewnątrz wywołania log.Fatal . Ta instrukcja rejestruje wszelkie komunikaty o błędach generowane po stronie serwera.

Implementuj funkcje przetwarzające

Jak widać, funkcja main wywołuje indeks funkcji obsługi w celu obsługi żądań klientów. Jednak w przykładzie nie zdefiniowano jeszcze tej funkcjonalności dla swojego serwera.

Dodajmy niezbędne instrukcje, aby funkcja indeksu była użyteczna:

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

Ta funkcja przyjmuje dwa różne argumenty typu http.ResponseWriter i http.Request . Parametr http.ResponseWriter zawiera odpowiedź serwera na przychodzące żądanie w postaci obiektu http.Request .

Funkcja Fprintf z pakietu fmt służy do wyświetlania i manipulowania ciągami tekstowymi. W artykule wykorzystano to do wyświetlenia odpowiedzi serwera na żądania sieciowe. Na koniec element r.URL.Path[1:] służy do pobierania danych po ścieżce głównej.

Dodaj wszystkie pozostałe części

Twój serwer WWW Go będzie gotowy po dodaniu wszystkich pozostałych komponentów. Kod będzie wyglądał następująco:

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

Pierwsza linia jest potrzebna do skompilowania kodu serwera WWW Go jako pliku wykonywalnego.

Jak zbudować podstawowy serwer WWW przy użyciu Go

Skompiluj kod serwera WWW Go jako plik wykonywalny

Zostaw komentarz

Jak usunąć informację o żądaniu praw autorskich w prawym rogu ekranu w systemie Windows 10

Jak usunąć informację o żądaniu praw autorskich w prawym rogu ekranu w systemie Windows 10

Czy widzisz powiadomienie o aktywacji systemu Windows 10 w prawym rogu ekranu? W tym artykule dowiesz się, jak usunąć powiadomienie o żądaniu dotyczącym praw autorskich w systemie Windows 10.

Instrukcje od AZ dotyczące instalacji systemu Windows 10 w wersji 14393.222

Instrukcje od AZ dotyczące instalacji systemu Windows 10 w wersji 14393.222

Niedawno firma Microsoft wydała najnowszą aktualizację zbiorczą dla użytkowników komputerów PC z systemem Windows 10 o nazwie Build 14393.222. Ta aktualizacja wydana dla systemu Windows 10 naprawia głównie błędy na podstawie opinii użytkowników i poprawia wydajność systemu operacyjnego.

Chroń swoją sieć komputerową za pomocą hosta Bastion w zaledwie 3 krokach

Chroń swoją sieć komputerową za pomocą hosta Bastion w zaledwie 3 krokach

Czy masz komputery w sieci lokalnej, które wymagają dostępu zewnętrznego? Dobrym rozwiązaniem może być użycie hosta bastionowego jako strażnika sieci.

3 sposoby na szybkie wyczyszczenie wszystkich dzienników zdarzeń w systemie Windows 10

3 sposoby na szybkie wyczyszczenie wszystkich dzienników zdarzeń w systemie Windows 10

Czasami może być konieczne jednoczesne usunięcie wszystkich starych dzienników zdarzeń. W tym przewodniku Quantrimang.com pokaże Ci 3 sposoby szybkiego usunięcia wszystkich dzienników zdarzeń w Podglądzie zdarzeń systemu Windows 10.

Jak utworzyć klucz Windows, jeśli klawiatura nie jest dostępna

Jak utworzyć klucz Windows, jeśli klawiatura nie jest dostępna

Jeśli wolisz używać starej, klasycznej klawiatury, takiej jak IBM Model M, która nie zawiera fizycznego klawisza Windows, istnieje prosty sposób, aby dodać więcej, pożyczając klawisz, którego nie używasz często.

Jak utworzyć tryb przezroczystego tła w systemie Windows 10

Jak utworzyć tryb przezroczystego tła w systemie Windows 10

WindowTop to narzędzie, które ma możliwość przyciemnienia wszystkich okien aplikacji i programów działających na komputerach z systemem Windows 10. Możesz także użyć interfejsu z ciemnym tłem w systemie Windows.

Metody fałszywego adresu IP umożliwiają anonimowy dostęp

Metody fałszywego adresu IP umożliwiają anonimowy dostęp

W wielu poprzednich artykułach wspominaliśmy, że zachowanie anonimowości w Internecie jest niezwykle ważne. Co roku dochodzi do wycieku prywatnych informacji, co sprawia, że ​​bezpieczeństwo w Internecie staje się coraz bardziej konieczne. Z tego też powodu powinniśmy używać wirtualnych adresów IP. Poniżej dowiemy się o metodach tworzenia fałszywych adresów IP!

Jak wyłączyć pasek języka na pasku zadań systemu Windows 8

Jak wyłączyć pasek języka na pasku zadań systemu Windows 8

Pasek języka w systemie Windows 8 to miniaturowy pasek narzędzi języka, zaprojektowany tak, aby automatycznie wyświetlał się na ekranie komputera stacjonarnego. Jednak wiele osób chce ukryć ten pasek języka na pasku zadań.

Wskazówki dotyczące optymalizacji szybkości połączenia internetowego od Linksys

Wskazówki dotyczące optymalizacji szybkości połączenia internetowego od Linksys

Maksymalizacja szybkości Internetu jest niezbędna do optymalizacji połączenia sieciowego. Możesz cieszyć się optymalną rozrywką i pracą, korzystając z komputerów, telewizorów z dostępem do Internetu, konsol do gier itp.

Jak skonfigurować WEP, WPA, WPA2 dla routera Linksys

Jak skonfigurować WEP, WPA, WPA2 dla routera Linksys

Łączność bezprzewodowa jest dziś koniecznością i dlatego bezpieczeństwo sieci bezprzewodowej jest niezbędne do zapewnienia bezpieczeństwa w sieci wewnętrznej.