首先,大家一起思考一个问题:何为Web编程?
严格来说,这只是一个叫法,并没有学术上的定义,但是一般大家都说到web都是指浏览器相关,所以大家一般说的web开发要么是PC Web要么就是手机Web,不过从广义上讲App也算是web编程的一部分。
当今Web编程主要基于Http协议,无论是浏览器还是App,很多都说基于Http,但是也有App直接使用TCP通信,比如IM类。但是从Golang的应用场景来说,Go的Web编程一般是指使用Go开发一些基于Http协议的服务,比如网站网页、App接口。
Go Http编程
如果把范围缩小到Http就更容易理解了,Http协议几乎承载了整个互联网99%的流量,而且Http协议是文本协议,简单易懂,便于开发调试。
Http协议的交互模型非常简单: 一个请求对应一个响应。对于编程语言来说,我们只需要解析出Http请求头,根据协议理解这个请求,然后使用代码完成请求的操作,最后把结果包装好,加上一个响应头,返回回去就行了。
Golang标准库里面的 net/http 提供了非常强大的封装,我们只需几行代码就可以启动一个http服务:
package mai