http协议的主要特点
- 简单快速
- 灵活
- 无连接
- 连接一次就会断掉
- 无状态
- 服务端无法区分两次请求者的身份
http报文的组成部分
- 请求报文
- 请求行
- 请求头
- 空行
- 请求体
- 响应报文
- 状态行
- 响应头
- 空行
- 响应体
http方法
- GET — 获取资源
- POST — 传输资源
- PUT — 更新资源
- DELETE — 删除资源
- HEAD — 获取报文首部
POST和GET的区别
- ++get在浏览器回退时是无害的,而post会再次提交请求++
- get产生的URL地址可以被收藏,而post不可以
- ++get请求会被浏览器主动缓存,而post不会,除非主动设置++
- get请求智能进行url编码,post支持多种
- ++get请求参数会被完整的保存在浏览器历史记录里面,而post中的参数不会被保存++
- ++get请求在url中传送的参数是有长度限制的,而post没有限制++
- 对参数的数据类型,get值接收ASCII字符,post没有限制
- get比post更不安全,因为参数直接暴露在url上,所以不能用来传递敏感信息
- ++get参数通过url’传递,post放在request body中++
http状态码
- 1XX: 提示信息-表示请求已接收,急需处理
- 2XX: 成功
- 3XX: 重定向- 要完成请求必须进行更进一步的操作
- 4XX: 客户端错误-请求有语法错误或请求无法实现
- 5XX: 服务端错误- 服务器未能实现合法的请求
什么是持久连接
-
http协议采用“请求-应答”模模式,当当时用普通模式,即非Keep-Alive模式时,每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(Http协议为无连接的协议)
-
当使用Keep-Alive模式(又称持久连接,连接重用)时,Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后续请求时,keep-alive功能避免了建立或者重新建立连接
什么是管线化
- 只有get和head可以进行管线化,post有所限制