diff --git a/ru/03.4.md b/ru/03.4.md index c6fce517..0deb8985 100644 --- a/ru/03.4.md +++ b/ru/03.4.md @@ -109,24 +109,24 @@ Go использует следующий код для ожидания нов Давайте посмотрим на поток выполнения. - Вызывается `http.HandleFunc`. -1. Вызывается `HandleFunc` из `DefaultServeMux`. -2. Вызывается `Handle` из `DefaultServeMux`. -3. Добавляются правила маршрутизации в карту `map[string]muxEntry` из `DefaultServeMux`. + 1. Вызывается `HandleFunc` из `DefaultServeMux`. + 2. Вызывается `Handle` из `DefaultServeMux`. + 3. Добавляются правила маршрутизации в карту `map[string]muxEntry` из `DefaultServeMux`. - Вызывается `http.ListenAndServe(":9090", nil)`. -1. Создается экземпляр `Server`. -2. Вызывается `ListenAndServe` для `Server`. -3. Вызывается `net.Listen("tcp", addr)` для прослушки порта. -4. Запускается бесконечный цикл, в теле которого происходит прием запросов. -5. Создается экземпляр Conn и запускаются горутины для каждого запроса: `go c.serve()`. -6. Читаются данные запроса: `w, err := c.readRequest()`. -7. Проверяется существует ли обработчик и если обработчика нет используется `DefaultServeMux`. -8. Вызывается `ServeHTTP` для обработчика. -9. Исполняется код в `DefaultServeMux` в нашем случае. -10. Выбирается обработчик, соответсвующий URL, и исполняется код обработчика: `mux.handler.ServeHTTP(w, r)` -11. Как выбирается обработчик: -A. Проверяются правила маршрутизации по данному URL. -B. Вызывается `ServeHTTP` в данном обработчике, если он есть. -C. В противном случае вызывается `ServeHTTP` для `NotFoundHandler`. + 1. Создается экземпляр `Server`. + 2. Вызывается `ListenAndServe` для `Server`. + 3. Вызывается `net.Listen("tcp", addr)` для прослушки порта. + 4. Запускается бесконечный цикл, в теле которого происходит прием запросов. + 5. Создается экземпляр Conn и запускаются горутины для каждого запроса: `go c.serve()`. + 6. Читаются данные запроса: `w, err := c.readRequest()`. + 7. Проверяется существует ли обработчик и если обработчика нет используется `DefaultServeMux`. + 8. Вызывается `ServeHTTP` для обработчика. + 9. Исполняется код в `DefaultServeMux` в нашем случае. + 10. Выбирается обработчик, соответсвующий URL, и исполняется код обработчика: `mux.handler.ServeHTTP(w, r)` + 11. Как выбирается обработчик: + A. Проверяются правила маршрутизации по данному URL. + B. Вызывается `ServeHTTP` в данном обработчике, если он есть. + C. В противном случае вызывается `ServeHTTP` для `NotFoundHandler`. ## Ссылки diff --git a/ru/03.5.md b/ru/03.5.md index 1dfdb1e7..6b5ea9be 100644 --- a/ru/03.5.md +++ b/ru/03.5.md @@ -1,4 +1,4 @@ -# 3.5 Итоги раздела +# 3.5 Итоги главы В этой главе мы познакомились с тем как работает HTTP, разрешение имен DNS и как создать простой веб-сервер на языке Go. После этого мы обсудили как Go создает веб-сервер на примере исходных кодов пакета `net/http`. @@ -8,5 +8,5 @@ - [Содержание](preface.md) - Предыдущий раздел: [Внутренний мир пакета http](03.4.md) -- Следующая глава: [Форма пользователя](04.0.md) +- Следующая глава: [Пользовательские формы](04.0.md) diff --git a/ru/preface.md b/ru/preface.md index f424ce7c..074031e2 100644 --- a/ru/preface.md +++ b/ru/preface.md @@ -26,7 +26,7 @@ - 4.4. [Дублирование отправки](04.4.md) - 4.5. [Загрузка файлов](04.5.md) - 4.6. [Итоги раздела](04.6.md) -- 5.[Database](05.0.md) +- 5.[Базы данных](05.0.md) - 5.1. [database/sql interface](05.1.md) - 5.2. [MySQL](05.2.md) - 5.3. [SQLite](05.3.md)