“常见问题”的版本间的差异
跳到导航
跳到搜索
第14行: | 第14行: | ||
== post 和 get 的区别 == | == post 和 get 的区别 == | ||
+ | https://www.w3school.com.cn/tags/html_ref_httpmethods.asp | ||
+ | |||
+ | GET 用于获取信息,是无副作用的,是幂等的,且可缓存 | ||
+ | POST 用于修改服务器上的数据,有副作用,非幂等,不可缓存 | ||
+ | * 安全?post请求不会保留在浏览器历史记录中 | ||
+ | |||
+ | {|class="wikitable" | ||
+ | !colspan="2"|GET | ||
+ | |POST | ||
+ | |- | ||
+ | |后退按钮/刷新 | ||
+ | | 无害 | ||
+ | |数据会被重新提交(浏览器应该告知用户数据会被重新提交)。 | ||
+ | |- | ||
+ | |书签 | ||
+ | |可收藏为书签 | ||
+ | |不可收藏为书签 | ||
+ | |- | ||
+ | |缓存 | ||
+ | |能被缓存 | ||
+ | |不能缓存 | ||
+ | |- | ||
+ | |编码类型 | ||
+ | | application/x-www-form-urlencoded | ||
+ | |application/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。 | ||
+ | |- | ||
+ | |历史 | ||
+ | |参数保留在浏览器历史中。 | ||
+ | |参数不会保存在浏览器历史中。 | ||
+ | |- | ||
+ | |对数据长度的限制 | ||
+ | |是的。当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。 | ||
+ | |无限制。 | ||
+ | |- | ||
+ | |对数据类型的限制 | ||
+ | |只允许 ASCII 字符。 | ||
+ | |没有限制。也允许二进制数据。 | ||
+ | |- | ||
+ | |安全性 | ||
+ | |与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。 | ||
+ | 在发送密码或其他敏感信息时绝不要使用 GET ! | ||
+ | |POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。 | ||
+ | |- | ||
+ | |可见性 | ||
+ | |数据在 URL 中对所有人都是可见的。 | ||
+ | |数据不会显示在 URL 中。 | ||
+ | |} | ||
+ | |||
== 转发和重定向的区别 == | == 转发和重定向的区别 == | ||
== 堆栈区别 == | == 堆栈区别 == |
2019年8月29日 (四) 11:07的版本
目录
- 1 cookie 和 session 的区别
- 2 post 和 get 的区别
- 3 转发和重定向的区别
- 4 堆栈区别
- 5 并发和并行的区别
- 6 索引
- 7 存储引擎
- 8 数据库,事务,隔离级别,存储引擎
- 9 redis,有什么优势 -memcache对比
- 10 http\https
- 11 数据库的存储引擎应用场景,索引结构
- 12 大数据量的优化
- 13 设计一个权限系统
- 14 算法题
- 15 红黑树
- 16 多线程,sleep,wait,yield
- 17 restful
- 18 设计模式,单例模式,适配器模式
- 19 操作系统,死锁
- 20 快排时间复杂度
- 21 nginx可承受的压力
- 22 项目
- 23 服务调用超时可能由什么造成
- 24 进程间的通信方式
cookie 和 session 的区别
- 作用范围不同,Cookie 保存在客户端(浏览器),Session 保存在服务器端。
- 存取方式的不同,Cookie 只能保存 ASCII,Session 可以存任意数据类型,一般情况下我们可以在 Session 中保持一些常用变量信息,比如说 UserId 等。
- 有效期不同,Cookie 可设置为长时间保持,比如我们经常使用的默认登录功能,Session 一般失效时间较短,客户端关闭或者 Session 超时都会失效。
- 隐私策略不同,Cookie 存储在客户端,比较容易遭到不法获取,早期有人将用户的登录名和密码存储在 Cookie 中导致信息被窃取;Session 存储在服务端,安全性相对 Cookie 要好一些。
- 存储大小不同, 单个 Cookie 保存的数据不能超过 4K,Session 可存储数据远高于 Cookie。
分布式session
ip_hash Session 复制 缓存中间件
post 和 get 的区别
https://www.w3school.com.cn/tags/html_ref_httpmethods.asp
GET 用于获取信息,是无副作用的,是幂等的,且可缓存 POST 用于修改服务器上的数据,有副作用,非幂等,不可缓存
- 安全?post请求不会保留在浏览器历史记录中
GET | POST | |
---|---|---|
后退按钮/刷新 | 无害 | 数据会被重新提交(浏览器应该告知用户数据会被重新提交)。 |
书签 | 可收藏为书签 | 不可收藏为书签 |
缓存 | 能被缓存 | 不能缓存 |
编码类型 | application/x-www-form-urlencoded | application/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。 |
历史 | 参数保留在浏览器历史中。 | 参数不会保存在浏览器历史中。 |
对数据长度的限制 | 是的。当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。 | 无限制。 |
对数据类型的限制 | 只允许 ASCII 字符。 | 没有限制。也允许二进制数据。 |
安全性 | 与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。
在发送密码或其他敏感信息时绝不要使用 GET ! |
POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。 |
可见性 | 数据在 URL 中对所有人都是可见的。 | 数据不会显示在 URL 中。 |
转发和重定向的区别
堆栈区别
并发和并行的区别
索引
不走索引
行级锁和表级锁
行级锁定的优点:
· 当在许多线程中访问不同的行时只存在少量锁定冲突。
· 回滚时只有少量的更改。
· 可以长时间锁定单一的行。
行级锁定的缺点:
· 比页级或表级锁定占用更多的内存。
· 当在表的大部分中使用时,比页级或表级锁定速度慢,因为你必须获取更多的锁。
· 如果你在大部分数据上经常进行GROUP BY操作或者必须经常扫描整个表,比其它锁定明显慢很多。
· 用高级别锁定,通过支持不同的类型锁定,你也可以很容易地调节应用程序,因为其锁成本小于行级锁定。
存储引擎
- InnoDB
数据库,事务,隔离级别,存储引擎
- 数据库,三大范式
redis,有什么优势 -memcache对比
- redis数据结构
http\https
数据库的存储引擎应用场景,索引结构
MyISAM表使用B型树索引。 读取场景下性能好,表锁,不能事务
InnoDB是为处理巨大数据量时的最大性能设计。B树。由于是行锁,写入、更新速度可能会快。
MEMORY表被存储在内存中,且默认使用哈希索引
大数据量的优化
设计一个权限系统
算法题
红黑树
多线程,sleep,wait,yield
restful
设计模式,单例模式,适配器模式
操作系统,死锁
快排时间复杂度
nginx可承受的压力
项目
- 项目难点
- 架构优化
- 难点
- 主要业务