互联网协议
网络协议:通信网络中传递、管理信息的一种规范、规则。
- HTTP协议:计算机中两点之间传输文字、图片等超文本数据的约定和规范。
- HTTPS协议
- 网络协议分层:
a. 共7层:应用层、表示层、会话层、运输层、网络层、数据链路层、物理层 - TCP/IP 协议:简化为了4个层次:
应用层、传输层、网络层、通信链路层
HTTP
HTTP是一种应用层协议,使用TCP作为传输层协议。
- HTTP的请求过程:
DNS服务器进行域名映射 - 客户端想服务器发送HTTP请求报文 - 服务器接收报文。请求解析工作 - 断开TCP链接 - 客户端接收到响应报文,TCP链接关闭 - 检查响应文件,客户端展示 - 请求特征:
简单、灵活、快速、无连接无状态 - 持久链接和非持久链接
- HTTP报文格式:请求头是必须的,POST方法带有body
Cookie和Session
犹豫HTTP协议是一种无状态协议,服务器接收到的请求每一次都是新的,无法记录历史请求。cookie和session 也随即诞生,弥补了HTTP的无状态特性
- 定义
Session:客户端发起请求,服务端便会为这次请求开辟一块内存空间,同时生成一个sessionID,利用该内存空间存储客户端在同一个会话中的操作记录。该空间就是Session对象。
Cookie:服务器发送给Web浏览器 的一个块数据,浏览器会将cookie数据进行存储,并且会在下一个请求中一起被发送给服务器,用于一个会话期间的判断,常用于登录状态等判断使用。
- 区别:
- cookie数据存放在客户端,session放在服务器;
- cookie不安全,且可设置有效期;session很容易失效,用户体验差;
- session会在一定时间内保存在服务器中,当访问量增多,会占用服务器内存;
- 单个cookie保存数据不能超过4K(一些限制20条);session无存储数量的限制,还可以保存比较复杂的数据类型;
扩展:localStorage和sessionStorage的使用
- sessionStorage是会话级别存储,会话结束就会被销毁,只能允许同一个窗口访问;
- localStorage是持久化的本地存储,除非主动删除数据,否则永远不会过期