提供HTTP服务

    先来看看一个简单的例子——计数器服务接口。这个接口非常简单,每次均返回接口调用总次数,以 1 开始:

    代码中,第 9 行声明一个用于记录次数的变量 counter ,初始值为 0 ;第 13-16 行定义请求处理器 CounterHandler 及其处理函数 ServeHTTP ,处理函数先将 counter 自增并返回响应;main 函数中第 19-22 行,申明并初始化 http.Server ,指定监听端口以及请求处理器;第 24 调用 ListenAndServe 方法开始监听并处理网络请求。

    接着启动计数器服务:

    这是一个非常简单的程序,但不失为一个完整的 HTTP 服务。在 net/http 包的协助下,若干行代码即可实现 HTTP 服务!

    开发 HTTP 服务,不可避免地要在客户端和服务端之间 交换数据 。交换数据的形式非常多样,至少包括以下类型:

    • URL 值;
    • URL 参数;
    • Cookie
    • POST 数据;

    下面是一个非常细致的示例程序,演示服务端如何 获取请求信息 以及如何往客户端 响应数据 。代码结构与计数器服务非常类似:

    28 行,获取远端(对端)地址;第 32-38 行,分别获取 请求方法URL主机名 ( 域名 )、 协议版本 等信息;第 43-44 行,获取 请求头部 ;第 49 行,读取 请求体

    订阅更新,获取更多学习资料,请关注我们的 :

    小菜学编程