本书的第1章对HTTP报文做了不少介绍,为了加深印象、防止遗忘,让我们先来回顾一下这方面的知识。
HTTP报文是在客户端和服务器之间传递的消息,它分为HTTP请求和HTTP响应两种类型,并且这两种类型的报文都拥有相同的结构:
- 请求行或者响应行;
- 零个或多个首部;
- 一个空行;
- 一个可选的报文主体。
下面是一个GET请求的例子:
GET /Protocols/rfc2616/rfc2616.html HTTP/1.1
Host: www.w3.org
User-Agent: Mozilla/5.0
(empty line)
Go语言的net/http
库提供了一系列用于表示HTTP报文的结构,为了学习如何使用这个库处理请求和发送响应,我们必须对这些结构有所了解。首先,让我们来看看net/http
库中代表HTTP请求报文的Request
结构。