文章目录
1HTTP协议简介
通信协议(Communication Protocol):是指通信的双方完成通信所必须遵守的规则与约束。通俗来讲就是采用约定好的格式来接受和发送数据。这种格式称之为通信协议。而在互联网中有很多通信协议,例如HTTP,FTP(文件传输协议),FILE(本地文件传输协议),TELENT(远程登录协议),MAILTO(电子邮箱协议),NEWS(网络新闻组协议),WAIS(广域信息服务器协议)等。而我们需要理解的就是第一个hyper text transport protocol 超文本传输协议。

其中HTTP协议采用请求/相应的交互模型
2HTTP请求
客户端本身发起的请求称为HTTP请求。客户端发送给服务器的消息,称为HTTP请求消息(请求报文)
HTTP请求消息由4部分组成,请求行,请求头部,空行和请求体。

如图为一个完整的HTTP请求消息

第一行为请求行 请求方式为POST 请求URL为/api/post 协议版本为HTTP/1.1
请求头部是由类似键值对的形式组成。User-Agent用来说明当前是什么类型的服务器
Content-Type用来描述发送到服务器的数据格式,这个格式很重要,后期利用ajax传递数据出错的大多数情况可能就是数据格式不正确导致的。Accept用来描述客户端能够接受什么类型的返回类容。Accept-Language是用来描述客户端期望接受哪种人类语言。
下图为整理内容

空行就不进行赘述,主要目的是起到分隔的作用。在请求体中存放的是通过POST方式提交到服务器的数据。(同样如果是通过GET方式,一定要注意,GET方式没有请求体!)
3HTTP响应消息
就是服务器相应给客户端的消息内容。也叫做响应报文。响应消息与请求消息组成部分完全相同。
同样是状态行,响应头部,空行和响应体组成

其中不同的一点是响应体中存放的是服务器响应给客户端的资源内容

4HTTP请求方法总结

5HTTP响应状态码
共五大类型分别为1XX-5XX。其中1XX表示服务器收到请求,实际开发中很少遇到1XX ,因此在此不进行叙述。
200 -OK说明GET与POST请求成功
201-Created成功请求并创建了新的资源,通常用于POST与PUT请求。这两者没什么本质的区别,主要看后端给你的接口文档里是如何说明状态码的。根据实时情况进行开发。
301-Move Permanently请求的资源已被永久的移动到新的URL,浏览器会自动定向到新的URL。
302-Found资源只是被临时移动,客户端继续使用原来的URL。
304-Not Modified未修改,不会返回任何资源。此时客户端通常会缓存访问过的资源。
400-Bad Request请求参数有误或者请求无法被理解
401-Unauthorization当前请求需要用户验证
403-Forbidden服务器拒绝执行
404-Not Found无法根据请求找到资源
408-Request-Timeout 请求超时
500-Internal Server Error服务器内部错误
501-Not Implemented 不支持该请求方法
503-Service Unavailable 服务器超载或者维护中
本文详细介绍了HTTP协议的工作原理,包括请求消息的构成、响应消息结构,以及常见请求方法和响应状态码的解读。重点讲解了POST和GET请求的区别,以及如何处理状态码以确保正确通信。
2万+

被折叠的 条评论
为什么被折叠?



