一 http协议的主要特点
- 简单快速;
- 灵活;
- 无连接:连接一次就会断掉,不会保持连接;
- 无状态:不能区分两次连接是否是同一身份;
二 http报文的组成部分
-
请求报文:请求行、请求头、空行、请求体;
-
响应报文:状态行、响应头、空行、响应体;
三 http方法
- get:
- post:
- put:
- delete:
- head:
四 post和get区别
- get在浏览器回退时是无害的,post会再次提交请求;
- get请求会被浏览器主动缓存,post不会;
- get请求参数会被完整保留在浏览器历史记录里,post不会;
- get请求在url传输的参数有长度限制,post没有;
- get参数通过url传递,post放在request body中;
五 http状态码
- 1xx:指示信息-表示请求已接收,继续处理;
- 2xx:成功-表示请求已被成功接收;
- 3xx:重定向-要完成请求必须进行更进一步的操作;
- 4xx:客户端错误;
- 5xx:服务器错误;
六 持久连接
- http协议采用“请求-应答”模式,当使用普通模式,即非keep-alive模式时,每个请求\应答客户端和服务器都要新建一个连接,完成之后立即断开连接;
- 当使用keep-alive模式时,keep-alive功能使客户端到服务端的连接持续有效,当出现对服务器的后继请求时,keep-alive功能避免了建立或者重新建立连接;
七 管线化
- 在使用持久连接的情况下,某个连接消息的传递类似于
请求1 -> 响应1 -> 请求2 -> 响应2 -> 请求3 -> 响应3 - 管线化:通过持久连接完成,响应和请求是一起打包的,只有get和head请求可以进行管线化
请求1 -> 请求2 -> 请求3 -> 响应1 -> 响应2 -> 响应3