社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
2019.8.7著
相信很多人在面试的过程中都或多或少接触过http协议相关的面试问题,今天我也在百度上学习了一下,下面总结给大家,希望能给大家带来帮助。
HTTP协议简介
HTTP(超文本传输协议)是应用层上的一种客户端/服务端模型的通信协议,它由请求和响应构成,且是无状态的。
协议规定了通信双方必须遵循的数据传输格式,这样通信双方按照约定的格式才能准确的通信。
无状态是指两次连接通信之间是没有任何关系的,每次都是一个新的连接,服务端不会记录前后的请求信息。
客户端/服务端模型
请求与响应
五层网络模型
分别分为
1.HTTP:应用层
2.TCP:传输层
3.IP:网络层
4.数据链路:数据链路层
5.物理介质:物理层
URL构成
https://www.xxx.com/index.html?name=xx&age=18
https://为协议
www.xxx.com为主机
index.html为路径
name=xx&age=18为参数
协议内容
请求(Request)
客户端发送一个HTTP请求到服务端的格式:
请求行
请求头
请求体
示例:
响应(Response)
服务端响应客户端格式:
状态行
响应头
响应体
示例:
状态码
HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型。HTTP状态码共分为5种类型:
更详细的状态码可查看 HTTP状态码
一般我们只需要知道几个常见的状态码即可,如:200,300,400,401,403,404,500,502,503
请求方法
截止到HTTP1.1共有下面几种方法:
请求和响应常见通用头
Content-Type,内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件。
常见的媒体格式类型如下:
以application开头的媒体格式类型:
常见请求头:
常见响应头:
总结
清楚的知道这些内容,不仅仅是为了应对面试官,而是能实实在在的提高自己的效率,这一点在前后端联调接口最明显,当你在应用中去请求其他接口或转发请求时这些也是要知道的。不然出现问题的概率会大大提高。他能觉得你是属于野生程序还是属于正规军!!!
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!