二、HTTP Server

栏目: IT技术 · 发布时间: 4年前

内容简介:这个示例将展示如何在Go中创建基本的HTTP服务器。一个基本的HTTP服务器需要处理几个关键的任务:net/http包包含接受请求和动态处理请求所需的所有工具。可以用http.Request包含关于请求及其参数的所有信息。可以t通过

前言

这个示例将展示如何在 Go 中创建基本的HTTP服务器。一个基本的HTTP服务器需要处理几个关键的任务:

  1. 处理动态请求:处理来自浏览网站、登录帐户或发布图片的用户的请求。
  2. 提供静态资源:为浏览器提供JavaScript、CSS和图像,为用户创建动态体验。
  3. 接受连接:HTTP服务器必须监听一个特定的端口,以便能够接受来自internet的连接。

处理动态请求

net/http包包含接受请求和动态处理请求所需的所有工具。可以用 http.HandleFunc 函数注册一个新的处理程序。第一个参数接受要匹配的路径,第二个参数为要执行的函数。在下面这个例子中:当某人浏览网站( http://example.com/ )时,他或她将收到一个欢迎的消息。

http.HandleFunc("/", func (w http.ResponseWriter, r *http.Request) {
    fmt.Fprint(w, "Welcome to my website!")
})

http.Request包含关于请求及其参数的所有信息。可以t通过 r.URL.Query(). GET(“token”) 读取GET参数,或者通过 r.FormValue(“email”) 读取POST参数。

提供静态资源

为了提供JavaScript、CSS和图像等静态资源,可以使用内建函数 http.FileServer ,其参数指向一个url路径。文件服务器需要知道从哪里提供文件,方法如下:

fs := http.FileServer(http.Dir("static/"))

文件服务器就绪后,只需将url路径指向它,就像处理动态请求时所做的那样。需要注意的一点是:为了正确地提供文件,需要删除url路径中文件所在目录的名称。

http.Handle("/static/", http.StripPrefix("/static/", fs))

接受连接

完成基本的HTTP服务器的最后一步是,监听端口以接受来自internet的连接。Golang有一个内置的HTTP服务器,可以快速启动。启动后,可以在浏览器中查看HTTP服务器。

代码

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", func (w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Welcome to my website!")
    })

    fs := http.FileServer(http.Dir("static/"))
    http.Handle("/static/", http.StripPrefix("/static/", fs))

    http.ListenAndServe(":80", nil)
}

欢迎关注我们的微信公众号,每天学习Go知识

二、HTTP Server

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算统计

计算统计

Geof H.Givens、Jennifer A.Hoeting / 王兆军、刘民千、邹长亮、杨建峰 / 人民邮电出版社 / 2009-09-01 / 59.00元

随着计算机的快速发展, 数理统计中许多涉及大计算量的有效方法也得到了广泛应用与迅猛发展, 可以说, 计算统计已是统计中一个很重要的研究方向. 本书既包含一些经典的统计计算方法, 如求解非线性方程组的牛顿方法、传统的随机模拟方法等, 又全面地介绍了近些年来发展起来的某些新方法, 如模拟退火算法、基因算法、EM算法、MCMC方法、Bootstrap方法等, 并通过某些实例, 对这些方法的应用进行......一起来看看 《计算统计》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具