Go语言如何处理长尾词查询的Web请求?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1047个文字,预计阅读时间需要5分钟。
在Go语言中,Handle是专门用于处理Web请求的。当收到一个HTTP请求时,Go语言会创建一个goroutine,请求的处理过程由这个goroutine完成。在Go中,有goroutine机制。
在 Go 语言中, Handle 是专门用于处理 Web 请求的。当有一个 HTTP 请求时,Go 语言会创建一个 goroutine ,请求的过程由创建的这个 goroutine 完成。在 Go 中,有 localhost:8080/ ,会出现显示 404 page not found 的网页。因为这里我们还没有针对特定的路由编写对应处理的代码。
查看源代码可以看到 ListenAndServe() 函数:
func ListenAndServe(addr string, handler Handler) error {
server := &Server{Addr: addr, Handler: handler}
return server.ListenAndServe()
}
它创建了一个 Server , localhost:8080/ ,会出现显示 Hello World 的网页。我们换一个地址 localhost:8080/hello 出现的还是显示 Hello World 的网页。这里所有请求的地址都会使用这个 Handler 处理请求,把 Hello World 输出。
多个 Handler 处理请求
要使用多个 Handler 处理请求,就不能指定 Server struct 里面的 Handler 字段值,使用 nil ,就是默认的 DefaultServeMux 。然后我们可以使用 localhost:8080/ ,会出现显示 404 page not found 的网页。我们访问地址 localhost:8080/a 出现的是显示 AAA 的网页。再访问地址 localhost:8080/b 出现的是显示 BBB 的网页。这样我们就实现了在多个 Handler 里面每个 Handler 对应不同的路径,对应不同的处理方法。
讲完了使用 localhost:8080/c 出现的是显示 CCC 的网页。再访问地址 localhost:8080/d 出现的是显示 DDD 的网页,再访问地址 localhost:8080/e 出现的是显示 EEE 的网页。
本文共计1047个文字,预计阅读时间需要5分钟。
在Go语言中,Handle是专门用于处理Web请求的。当收到一个HTTP请求时,Go语言会创建一个goroutine,请求的处理过程由这个goroutine完成。在Go中,有goroutine机制。
在 Go 语言中, Handle 是专门用于处理 Web 请求的。当有一个 HTTP 请求时,Go 语言会创建一个 goroutine ,请求的过程由创建的这个 goroutine 完成。在 Go 中,有 localhost:8080/ ,会出现显示 404 page not found 的网页。因为这里我们还没有针对特定的路由编写对应处理的代码。
查看源代码可以看到 ListenAndServe() 函数:
func ListenAndServe(addr string, handler Handler) error {
server := &Server{Addr: addr, Handler: handler}
return server.ListenAndServe()
}
它创建了一个 Server , localhost:8080/ ,会出现显示 Hello World 的网页。我们换一个地址 localhost:8080/hello 出现的还是显示 Hello World 的网页。这里所有请求的地址都会使用这个 Handler 处理请求,把 Hello World 输出。
多个 Handler 处理请求
要使用多个 Handler 处理请求,就不能指定 Server struct 里面的 Handler 字段值,使用 nil ,就是默认的 DefaultServeMux 。然后我们可以使用 localhost:8080/ ,会出现显示 404 page not found 的网页。我们访问地址 localhost:8080/a 出现的是显示 AAA 的网页。再访问地址 localhost:8080/b 出现的是显示 BBB 的网页。这样我们就实现了在多个 Handler 里面每个 Handler 对应不同的路径,对应不同的处理方法。
讲完了使用 localhost:8080/c 出现的是显示 CCC 的网页。再访问地址 localhost:8080/d 出现的是显示 DDD 的网页,再访问地址 localhost:8080/e 出现的是显示 EEE 的网页。

