1HTTP协议主要特点
简单快速,灵活,无连接,无状态。
2HTTP报文的组成部分
请求报文:请求行,请求头,请求体
响应报文:状态行,响应头,响应体
3HTTP方法
get-获取资源,post-传输资源,put-更新资源,delete-删除资源,head-获取报文首部。
4post和get区别
- get在浏览器回退时是无害的,而post会再次提交请求
- get请求会被浏览器主动缓存,而post不会,除非手动设置。
- get比post更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息
- get请求在URL中传送的参数是有长度限制的,而post没有限制。
- get参数通过URL传递,而post放在请求体中。
5状态码
1XX:指示信息-表示请求已接收,在继续处理
2XX:成功-表示请求已成功接收
3XX:重定向
4XX:客户端错误-请求有语法错误或请求无法实现
5XX:服务端错误-服务器未能实现合法请求
200 OK :请求成功
206 partial content:客户端发送了一个带有range头的get请求,服务器完成了它。
301moved permanently:所请求页面已经转至新的URL
302代表暂时性转移(Temporarily Moved )
304not modified:客户端已经执行了GET,但文件未变化
400:bad request 客户端请求有语法错误,不能被服务端理解。
401:Unauthorized请求未经授权。
403:forbidden,禁止访问
404:请求资源不存在
500:服务器错误
503:服务器临时过载或宕机
6持久连接(1.1版本支持)
7管线化
8Cache-Control
可缓存性:public,private,no-cache,表示哪些地方可以进行缓存。pullic经过的任何地方都可以缓存,private发起请求的浏览器可以缓存。
max-age:可以缓存多少秒。
9cookie和session
cookie:服务端通过set-cookie来设置,下次请求时客户端会带上cookie,以此来辨别是不是当前用户。是键值对,可以保存多个。cookie有max-age和expires属性,设置过期时间,secure只在https的时候请求发送,http-only不能通过document.cookie来获取cookie。