简单快速
灵活(通过一个HTTP协议就可以传递不同的数据类型)
无连接 (连接一次就会断开)
无状态(两次连接单从HTTP协议不能区分连接人的身份状态)
请求行(HTTP方法 地址 版本) 请求头(key value 告诉服务端数据) 空行(告诉服务端请求头结束了) 请求体()
状态行() 响应头 空行 响应体
1.get 获取资源
2.post 传输资源
3.delete 删除资源
4.put 更新资源
5.head 获得报文首部
1.get在浏览器回退是无害的,post会再次提交请求
2.get URL可以被收藏,post不行
3.get请求会被浏览器主动缓存,post不行,除非手动设置
4.get请求参数会被完整的保存到浏览器历史记录里,而post参数不会被保留
5.get请求传递的参数是有限的,而post是无限制的 (其实http没有限制大小 ,只是浏览器限制了 IE 2kb chrom 8k)
6.get请求比post相对更加安全 get请求的参数暴露在URL上面 post没有 所以get不能用来传递敏感信息
7.get请求参数通过URL传递,post请求通过request body传输
1xx:指示信息 ---表示请求已接受 近一步处理
2xx:成功 --表示请求已经被成功接收 (例如200 206表示发送了一个range请求 服务器完成了它)
3xx:重定向 --- 要完成请求必须进行进一步的操作 (301永久重定向 302临时重定向)
4xx:客服端错误 -- 请求有语法错误或者请求无法实现
400 客户端请求有语法错误
401 请求未授权 必须配合www-Authenticate报头域一起使用
403 被请求的页面禁止访问
404 请求资源不在
5xx:服务器错误 -- 服务器未能实现合法请求
503服务器过载或当机
500 服务器发生不可预期的错误原来的缓冲文档还可以继续使用
HTTP协议采用“请求-应答”模式,当使用跟普通模式,就是非Keep-alive模式时,每个请求/应答客户端和服务器都要重新建立一个连接,完成之后立即断开(HTTP协议为无连接状态)
在HTPP1.1版本中 使用keep-alive模式 又称为持久连接 keep-alive功能使服务端的连接持续有效,当对服务器的后续请求使,keep-alive功能避免了建立或者重新连接