浅谈HTTP协议
一、概念
概念:
超文本传输协议( Hyper Text Transfer Protocol )
二、作用
作用:
规范了 浏览器和服务器的 数据交互
三、特点
特点:
1. 无状态:.HTTP 协议是无状态协议。每次都得重写__。
无状态是指 协议对于事务处理没有记忆能力。 缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。
2. 灵活:HTTP 允许传输 任意类型的数据对象。
3. 无连接:无连接的含义是 限制每次连接只处理一个请求。 服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
四、交互流程
交互流程4步走:
HTTP 的交互流程一般分为四个步骤(一次完整的请求):
步骤一:客户端和服务器端建立连接
步骤二:客户端发送请求数据到服务器端(HTTP 协议)
步骤三:服务器端接收到请求后,进行处理,然后将处理结果响应客户端(HTTP 协议)
步骤四:关闭连接关闭客户端和服务器端的连接(HTTP1.1 后不会立即关闭)
五、请求格式
请求格式:头、行、空行、数据
请求头: 请求方式、请求的地址和 HTTP 协议版本
请求行: 消息报头,一般用来说明客户端要使用的一些附加信息(支持的语言、返回方式)
空行: 位于请求行和请求数据之间,空行是必须的。
请求数据: 非必须。
示例 :(GET请求)
POST请求
六、响应格式
响应格式:头、行、空行、数据
响应行(状态行): HTTP 版本、 状态码、 状态消息
响应头: 消息报头,客户端使用的 附加信息
空行: 响应头和响应实体之间的,必须的。
响应实体: 正文,服务器返回给浏览器的信息
七、状态码
常见状态码:
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理
解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate 报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在, eg:输入了错误的 URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时
间后可能恢复正常