HTTP协议类POST 和GET的区别
- HTTP协议的方法有五种
GET、POST、PUT、DELETE、HEAD
- GET POST的区别
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状态码
1,2,3,4,5 200客户端请求成功 206 partial Content: 客户发送了一个带有Range头的get请求,服务器完成了它返回,就是拆分客户端发送数据
301永久重定向302临时重定向304缓存
400 客户端语法错误 401 未经授权 必须和WWW-Authenticate报头域一起使用
403 请求页面被禁止访问
404 notfond 600 服务器发生错误,503 请求未完成服务器过载或当机一段时间后可能恢复正常
HTTP 是无连接无状态的,采用的是请求应答的模式
当使用普通模式每一个请求都要新建一个连接 完成之后断开连接
当使用KEETP-alive模式 持久连接时 keepalive 功能使客户端到服务的连接持续有效,当出现对服务器的后续请求时,keepalive功能避免了建立连接或者重新建立连接
管线化
在使用持久连接的情况下 某个连接上的消息传递类似于 请求-相应-请求2-相应2-请求3-响应3
某个连接上的消息变成了请求123,响应123
管线化通过持久连接完成,仅支持http1.1 只有get和head请求可以进行管线化
初次创建连接不应该启动管线化,不知道服务器是否支持,现代浏览器默认没有开启管线化