cookie是做web开发耳熟能详的概念。今天就来看看它的原理。
cookie诞生在1993年,由网景(netspace)公司的Lou Montulli发明,他在91年就开发了一款浏览器Lynx。90年代初期浏览器刚刚兴起,HTTP协议也开始得到广泛的应用。HTTP是无状态的,服务器无法根据请求判定用户。需要一种机制来题,cookie就是在此背景下被发明的。
cookie是浏览器请求服务器之后,服务器生成了一段cookie返回给浏览器,浏览器把这个cookie放在本地的某个文件中,以后浏览器再次发送请求时会带上这个cookie。
cookie的原理是服务器给浏览器发了一个凭证,这个凭证里保存了用户信息。以后浏览器再来请求服务器时,带着凭证,服务器根据凭证判断是哪个用户。
cookie是放在http request header里面进行传输,它的作用域跟域名有关。比如baidu的cookie和google的cookie是不能混合在一起的,请求百度就带着百度的cookie,请求Google就带着Google的cookie。对应二级域名来说,默认cookie也是不能通用的,就是场景的跨域问题,要想通用,可以设置cookie的domain。
cookie的生命周期是可以设置的,在cookie没有过期之前,即使关闭了浏览器,也是可以继续使用的。
cookie的应用可以做永久登录。当然cookie是不安全,利用cookie做CSRF攻击。
领取专属 10元无门槛券
私享最新 技术干货