Get 和 Post 的区别?
1. Get 是不安全的,因为在传输过程,数据被放在请求的 URL 中;Post 的所有操作对用户来说都是不可见的。
2. Get 传送的数据量较小,一般传输数据大小不超过 2k-4k(根据浏览器不同,限制不一样,
但相差不大这主要是因为受 URL 长度限制;Post 传送的数据量较大,一般被默认为不受限
制。
3. Get 限制 Form 表单的数据集的值必须为 ASCII 字符;而 Post 支持整个 ISO10646 字符集。
4. Get 执行效率却比 Post 方法好。Get 是 form 提交的默认方法。
cookie 和 session 的区别?
1.存储位置不同
cookie 存放在客户端电脑,是一个磁盘文件。Ie 浏览器是可以从文件夹中找到。
session 是存放在服务器内存中的一个对象。 chrome 浏览器进行安全处理,只能通过浏
览器找到。Session 是服务器端会话管理技术,并且 session 就是 cookie 实现的。
2.存储容量不同
单个 cookie 保存的数据<=4KB,一个站点最多保存 20 个 Cookie。
对于 session 来说并没有上限,但出于对服务器端的性能考虑,session 内不要存放过多的
东 西,并且设置 session 删除机制。
3.存储方式不同
cookie 中只能保管 ASCII 字符串,并需要通过编码方式存储为 Unicode 字符或者二进制数
据。
session 中能够存储任何类型的数据,包括且不限于 string,integer,list,map 等。
4.隐私策略不同
cookie 对客户端是可见的,别有用心的人可以分析存放在本地的 cookie 并进行 cookie 欺
骗,所以它是不安全的。
session 存储在服务器上,不存在敏感信息泄漏的风险。
5. 有效期上不同
开发可以通过设置 cookie 的属性,达到使 cookie 长期有效的效果。
session 依赖于名为 JSESSIONID 的 cookie,而 cookie JSESSIONID 的过期时间默认为-1,
只需关闭窗口该 session 就会失效,因而 session 不能达到长期有效的效果。
6.服务器压力不同
cookie 保管在客户端,不占用服务器资源。对于并发用户十分多的网站,cookie 是很好的
选择。
session 是保管在服务器端的,每个用户都会产生一个 session。假如并发访问的用户十分
多,会产生十分多的 session,耗费大量的内存。