当前位置:   article > 正文

Go语言创建HTTP服务器

Go语言创建HTTP服务器

        Web服务器可提供网页、Web服务和文件,而Go语言为创建Web服务器提供了强大的支持。

1.通过Hello World Web 服务器宣告您的存在

        标准库中的net/http包提供了多种创建HTTP服务器的方法,它还提供了一个基本的路由器。

  1. package main
  2. import (
  3. "net/http"
  4. )
  5. func helloWorld(w http.ResponseWriter, r *http.Request) {
  6. w.Write([]byte("Hello World\n"))
  7. }
  8. func main() {
  9. http.HandleFunc("/", helloWorld)
  10. http.ListenAndServe(":8000", nil)
  11. }

程序解读如下:

  • 导入net/http包
  • 在main函数中,使用方法HandleFunc创建了路由/。这个方法接受一个模式和一个函数,其中前者描述了路径,而后者指定如何对以送到该路径的请求做出响应
  • 函数helloWorld接受一个http.ResponseWriter和一个指向请求的指针。这意味着在这个函数中,可查看或操作请求,再将响应返回给客户端。在这里,使用了方法Write来生成响应。这个方法生成的HTTP响应包括状态、报头和响应体。[ ]byte声明一个字节切片并将字符串值转换为字节。这意味着方法Write可以使用[ ]byte,因为这个方法将一个字节切片作为参数。
  • 为响应客户端,使用了方法ListenAndServer来启动一个服务器,这个服务器监听localhost和端口8000

 2.查看请求和响应

        curl是一款用于发起HTTP请求的命令行工具,它几乎可在任何平台上使用。macOS系统预先安装了curl;Linux系统通常也安装了curl,如果没有安装,可使用包管理器进行安装;Windows系统没有预先安装curl。

                2.1 使用curl发出请求

        安装curl后,就可在开发和调试Web服务器时使用它。可不使用Web浏览器,而使用curl来向Web服务器发送各种请求以及查看响应。

在macOS或Linux系统中,再开一个终端;执行下面的命令,其中的选项-is指定打印报头,并忽略一些不感兴趣的内容。

curl -is http://localhost:8000

如果上面命令成功了,将会看到来自Web服务器的响应,基中包含报头和响应体。

HTTP/1.1 200 OK

Date:Fri,05 Apr 2024 11:42 GMT

Content-Length: 12

Content-Type: text/plain; c

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/384217
推荐阅读
相关标签
  

闽ICP备14008679号