http协议是一种超文本传输协议,它是客户端浏览器或者是其他的程序和Web服务器之间的应用层通信协议。
包含:
请求行
请求方式 url 协议版本
请求头 (把请求的一些信息传达给服务器)
Accept:客户端可识别的响应内容类型列表
User-Agent:产生请求的浏览器类型
Content-Type:客户端告诉服务器实际发送请i去的数据类型
Accept-Language:用户希望获得的自然语言的有i先按顺序
空行
最后一个请求头字段后面是一个空行,通知服务器请求头部至此结束,用来分隔请求头和请求体
请求体(存放要通过POST方式提交到服务器的数据)
重要:只有post请求才有请求体,gei请求是没有请求体的
响应行
协议版本 状态码 状态码描述响应头(描述服务器的基本信息)
X-Powered-By:服务器用的是什么软件
content-Type:响应给客户端的数据是什么一个格式
Content-Lenght:响应的内容的长度
Date:响应的时间空行
标志着响应头结束响应体
存放的是服务器响应给客户端的资源内容
请求方法:
(查)GET:获取服务器上请求的资源
(增)POST:向服务器提交资源,数据包含在请求体中
(改)PUT:向服务器提交资源,并使用提交的新资源
(删)DELETE:请求服务器删除指定资源
状态码:状态码描述文本
1**:(信息)服务器接收到请求,需要请求者继续执行操作
2**:(成功)操作被成功接收并处理
200:ok,请求成功。一般用于post和get请求
201:create,以创建。成功请求创建了新的资源,一般用于put和post请求
3**:(重定向)需要进一步操作完成请求
301:永久移动。请求的资源已被永久移动到新的url,返回信息会包括新url,浏览器会自动定向到新的url,之后任何新的请求都应使用新url
302:临时移动。与301类似,只不过是临时移动,客户端继续使用原有url
304:未修改。请求资源未修改,返回此状态码时不返回任何资源(响应消息中不包含响应体)。客户端通常会缓存访问过的资源
4**:(客户端错误)请求包含语法错误或无法完成请求
400:语义有误,当前请求无法被服务器理解
401:当前请求需要用户验证
403:服务器理解请求,但是拒绝执行
404:服务器无法根据客户端请求找到资源
408:请求超时