fix mistakes

This commit is contained in:
kasmanavt
2016-09-16 17:37:00 +03:00
parent 4a85fe57b2
commit 92fd76f220
3 changed files with 20 additions and 20 deletions

View File

@@ -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`.
## Ссылки

View File

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

View File

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