http协议

前言

概述

  • 什么是协议?

我们都知道协议是一种规范,是双方定义的一种规范,达到双方能够更好的交流。

  • 什么是http协议

http是超文本传输协议(Hypertext Transfer Protocol ),是建立在TCP上的无状态连接,整个基本工作流程是客户端浏览器发起一个Http请求,客户端浏览器需要请求资源访问。服务端收到客户端浏览器请求后,服务端开始处理请求,根据请求作出对应的动作,处理服务器端的相关资源,最后将以Http响应的返回给客户端浏览器。

Http请求

http请求包含 请求行、请求头、请求体三部分。

请求行(Request Line)

请求行格式 方法+空格+URI+空格+版本+回车换行
例如:

GET /topics/4092 HTTP/1.1

GET-方法
/topics/4092-URI
HTTP/1.1-Http协议版本

请求头(Request Header)

请求头是客户端请求服务端携带的一些信息 如:用户代理、浏览器版本、cookie等信息。

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;

空白行

请求体