### 前言
#### 概述
* 什么是协议?
我们都知道协议是一种规范,是双方定义的一种规范,达到双方能够更好的交流。
* 什么是http协议
http是超文本传输协议(Hypertext Transfer Protocol ),是建立在TCP上的无状态连接,整个基本工作流程是客户端浏览器发起一个Http请求,客户端浏览器需要请求资源访问。服务端收到客户端浏览器请求后,服务端开始处理请求,根据请求作出对应的动作,处理服务器端的相关资源,最后将以Http响应的返回给客户端浏览器。
#### Http请求
http请求包含 请求行、请求头、请求体三部分。
##### 请求行(Request Line)
请求行格式 方法+空格+URI+空格+版本+回车换行
例如:
```html
GET /topics/4092 HTTP/1.1
```
GET-方法
/topics/4092-URI
HTTP/1.1-Http协议版本
##### 请求头(Request Header)
请求头是客户端请求服务端携带的一些信息 如:用户代理、浏览器版本、cookie等信息。
```html
Host: studygolang.com
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Referer: https://studygolang.com/topics
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: _ga=GA1.2.1379605543.1558769819; _gid=GA1.2.1690523304.1563982207;
```
#### 空白行
#### 请求体
有疑问加站长微信联系(非本文作者))