• 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

  • 相关阅读:
    30天Python入门(第十二天:深入了解Python中的模块)
    (01)Hive的相关概念——架构、数据存储、读写文件机制
    Spring Boot 中的 TransactionTemplate 是什么,如何使用
    前后端分离项目,vue+uni-app+php+mysql在线小说电子书阅读小程序系统设计与实现
    华为设备IPSG配置命令
    嵌入式学习笔记(64)指针带来的一些符号的理解
    【Linux】linux nfs共享存储服务
    2022年大一网页期末作业(纯HTML+CSS实现)(1)
    session伪造
    初探富文本之CRDT协同实例
  • 原文地址:https://blog.csdn.net/canglonghacker/article/details/137393926