Go 每日一库之 net/http(基础和中间件)

2021-07-14
阅读 11 分钟
6.5k
几乎所有的编程语言都以Hello World作为入门程序的示例,其中有一部分以编写一个 Web 服务器作为实战案例的开始。每种编程语言都有很多用于编写 Web 服务器的库,或以标准库,或通过第三方库的方式提供。Go 语言也不例外。本文及后续的文章就去探索 Go 语言中的各个Web 编程框架,它们的基本使用,阅读它们的源码,比较...

Go 每日一库之 negroni

2020-06-22
阅读 9 分钟
2.8k
为什么要使用中间件?有一些逻辑代码,如统计、日志、调试等,每一个处理器中都需要,如果一个个去添加太繁琐了、容易出错、容易遗漏。如果我们要统计处理器耗时,可以在每个处理器中添加代码统计耗时:

Go Web 编程之 响应

2019-12-23
阅读 10 分钟
4.3k
上一篇文章中,我们介绍了请求的结构与处理。本文将详细介绍如何响应客户端的请求。其实在前面几篇文章中,我们已经使用过响应的功能——通过http.ResponseWriter发送字符串给客户端。但是这种方式仅限于发送字符串。本文我们将介绍如何定制响应的参数。

Go Web 编程之 请求

2019-12-18
阅读 11 分钟
2.8k
概述 前面我们学习了处理器和处理器函数,如何编写和注册处理器。本文我们将学习如何从请求中获取信息。 请求的结构 通过前面的学习,我们知道处理器函数需要符合下面的签名: {代码...} 其中,http.Request就是请求的类型。客户端传递的数据都可以通过这个结构来获取。结构Request定义在包 net/http 中: {代码...} 我...

Go Web 编程之 程序结构

2019-12-13
阅读 8 分钟
2.8k
概述 一个典型的 Go Web 程序结构如下,摘自《Go Web 编程》: 客户端发送请求; 服务器中的多路复用器收到请求; 多路复用器根据请求的 URL 找到注册的处理器,将请求交由处理器处理; 处理器执行程序逻辑,必要时与数据库进行交互,得到处理结果; 处理器调用模板引擎将指定的模板和上一步得到的结果渲染成客户端可识...

Go Web 编程之 Hello World

2019-12-09
阅读 4 分钟
5.9k
计划写一个讲 Go Web 编程的系列文章。从基于 net/http 包编写 Go Web 程序开始,讲述处理器,请求,响应等基础知识。然后到框架的使用。中间会穿插一些源码的分析。最后做一个实战项目。