freeCodeCamp/guide/russian/go/a-simple-web-server-in-go/index.md

32 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: A simple web server in Go
localeTitle: Простой веб-сервер в Go
---
Язык программирования Go хорошо известен тем, что имеет встроенный веб-сервер. В этой статье вы узнаете, как вы можете легко сделать свой собственный веб-сервер с Go. Вам не понадобятся другие пакеты рядом с теми, которые уже встроены!
Сначала перейдите в свой текстовый редактор. Затем создайте файл с именем `webserver.go` и введите следующий код:
```go
package main
import (
"net/http"
"io"
)
func main() {
http.HandleFunc("/", servePage)
http.ListenAndServe(":8080", nil)
}
func servePage(writer http.ResponseWriter, reqest *http.Request) {
io.WriteString(writer, "Hello world!")
}
```
Давайте разложим блок кода выше. Мы импортируем пакет `net/http` : этот пакет содержит сам веб-сервер. Затем мы также импортируем пакет `io` , мы воспользуемся этим позже, чтобы фактически что-то предложить клиенту.
В `main` функции мы делаем две вещи. Прежде всего, мы `servePage` серверу разрешить функции, называемой `servePage` обрабатывать весь входящий трафик в `/` -, в этом случае это означает, что он обрабатывает запросы по _любому_ `URL` . Во-вторых, мы фактически активируем сервер. Мы делаем это с помощью функции `ListenAndServe` . Для этой функции требуются два параметра: `port` (как `string` ), в этом случае это `8080` , а `handler` (как `Handler` ) - однако последний еще не важен. Мы просто сделаем это `nil` и все будет работать нормально.
В `servePage` мы делаем только одну простую вещь, пока. Используя пакет `io` и функцию `WriteString` которую он содержит, мы можем ответить на запрос клиентов текстом `Hello world!` (или любой другой строки, конечно). Вы также могли заметить , что `servePage` функция имеет два аргумента: `writer` и `request` . С автором вы можете ответить на `HTTP` запрос, и с `request` вы можете получить больше информации о самом запросе.
Поздравляем! Вы только что создали свой первый веб-сервер! Если вы хотите протестировать его: просто запустите `go run webserver.go` , запустите браузер и перейдите по `http://localhost:8080` !