一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第3天,点击查看活动详情。
一、HTTP协议的主要特点
- 简单快速:url是统一的,若需要访问资源只要输入url
- 灵活:通过一个http协议,就可以完成不同类型数据的传输
- 无连接的协议
- 无状态的协议
二、HTTP报文组成部分
(一)请求报文
- 请求行
- 请求头
- 空行
- 请求体
(二)响应报文
- 状态行
- 响应头
- 空行
- 响应体
三、HTTP方法
- GET:获取资源
- POST:传输资源
- PUT:更新资源
- DELETE:删除资源
- HEAD:获得报文首部
POST和GET的区别
四、HTTP状态码
(一)1XX
- 指示信息,表示请求已经接收,继续处理
(二)2XX
- 成功,表示请求已经被成功接收
- 200 OK:客户端请求成功
- 206 Partial Content:客户发送了一个带有Range头的GET请求,服务器完成了它
(三)3XX
-重定向-要完成请求必须进行更进一步的操作
- 301 Moved Permanently:所请求的页面已经转移至新的url
- 302 Found:所有的请求页面已经临时转移值新的url
- 304 Not Modified:客户端有缓冲的文档并发出来一个条件性的请求,服务器告诉客户原来缓冲的文档还可以继续使用
(四)4XX
- 客户端错误-请求有语法错误或请求无法实现
- 400 Bad Request:客户端请求有语法错误
- 401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
- 403 Forbidden:对被请求页面的访问被禁止
- 404 Not Found:请求资源不存在
(五)5XX
- 服务器错误,服务器未能实现合法的请求
- 500 Internal Server Error:服务器发生不可预期的错误,原来缓冲的文档还可以继续使用
- 503 Server Unavailable:请求为未完成,服务器临时过载或当机一段时间后可能恢复正常
五、HTTP持久连接
- HTTP协议采用“请求-应答”模式,而且HTTP协议时无连接的协议。当使用不同模式,即非Keep-Alive模式时,每个请求/应答客户和服务器都要重新建立一个连接,完成之后立即断开连接
- 当使用Keep-Alive模式(又称持久连接、连接重用)时,Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器又后继请求时,Keep-Alive功能避免了建立或者重新建立连接
- HTTP 1.0不支持持久连接