编程初学者的Go语言学习之旅 | 青训营笔记

89 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第12天。

前言

这几天把用户登录方面的接口的服务实现简单讲了,今天来说一些以前没有提到但是应该提到的东西————HTTP协议。

HTTP协议

什么是HTTP协议?

HTTP 协议一般指 HTTP(超文本传输协议)。 超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议,是因特网上应用最为广泛的一种网络传输协议,所有的 WWW 文件都必须遵守这个标准。 HTTP 是为 Web 浏览器与 Web 服务器之间的通信而设计的,但也可以用于其他目的。 HTTP 是一个基于 TCP/IP 通信协议来传递数据的(HTML 文件、图片文件、查询结果等)。

HTTP请求方法

提到HTTP协议,我们肯定离不开HTTP请求方法,比如前文我们注册路由用到的:

douyin := h.Group("/douyin")
userGroup := douyin.Group("/user")
userGroup.POST("/register/", func(ctx context.Context, c *app.RequestContext))
userGroup.POST("/login/", func(ctx context.Context, c *app.RequestContext))
userGroup.GET("/", func(ctx context.Context, c *app.RequestContext))

这里所使用到的POST方法与GET方法,同时,这两位也是最常用到的HTTP请求方法。
GET方法:请求指定的页面信息,并返回实体主体。 POST方法:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。
可以看到,在一般情况下,有文件参数传入的时候,我们一般不使用GET方法,而使用POST方法将文件夹带在body中,这也是我们之后实现视频投稿接口服务会使用到的HTTP请求方法。
除了这两种方法之外,还有HEAD``PUT``DELETE``CONNECT``OPTIONS``TRACE``PATCH等方法。

HTTP状态码

在我们发送HTTP请求之后,一般情况下会返回给我们一个HTTP状态码,不论有没有达到我们设想中的成功。
如我们使用过的:

consts.StatusUnauthorized//401
consts.StatusOK//200

以及较为出名的404``502等。

引用

走进 HTTP 协议 - 掘金 (juejin.cn)
HTTP 教程 | 菜鸟教程 (runoob.com)