Я изучаю golang, и я заметил, что многие люди создают серверы, используя функцию http.NewServeMux()
, и я не совсем понимаю, что она делает.Что такое мультиплексор http-запроса?
Я прочитал это:
В ходу ServeMux это мультиплексор запрос HTTP. Он сопоставляет URL-адрес каждого входящего запроса со списком зарегистрированных шаблонов и вызывает обработчик для шаблона, который наиболее точно соответствует URL-адресу.
Как это отличается, чем просто делать что-то вроде:
http.ListenAndServe(addr, nil)
http.Handle("/home", home)
http.Handle("/login", login)
Какова цель использования мультиплексирования?
Когда вы это делаете, вы используете мультиплексор - а именно, 'http.DefaultServeMux'. – hobbs
ListenAndServe будет использовать http.DefaultServeMux, если вы передадите ** nil ** в качестве второго параметра –
. Мультиплексор запросов также называется маршрутизатором запроса. Он направляет входящие запросы обработчику с использованием некоторого набора правил. –