Go面试题
1、从一个搜索框输入数据到最后获取到搜索结果,这中间有哪些流程
前端的浏览器发送http请求,在发送请求的时候需要指定url和请求的方法,同时还会在请求头中添加一些信息,比如cookie
后端服务器接收请求,需要解析请求头和请求体,获取关键词等信息
后端服务器进行查询,查询涉及到sql编写和执行,以及数据库的连接和事务的处理
后端服务器对查询结果进行处理,比如分页,排序
前端浏览器进行渲染
2、cookie是干嘛的,和session有什么区别
session和cookie都是web开发中用来保存状态信息的技术,为了能够让服务器识别出来不同的用户或者浏览器,并提供相应的服务或者页面
ccokie是浏览器保存在用户本地计算机上的小文件,在用户下次访问同一网站时被读取和检索,在发送http请求的时候,浏览器会自动将该网站的cookie信息一起发送到服务器端,服务端可以通过读取cookie信息来识别出哪个用户发来的请求
session是一种由服务器创建的,用来保存用户状态信息的数据结构,可以存储在服务器内存中,文件中,原理:服务器在为每个用户创建会话生成一个唯一的sessionid,将该id返回给浏览器,浏览器在后续的请求中将该id作为请求头发送给服务器,服务器通过该id获取用户相关的会话数据
区别:
1、存储的位置不同
2、存储的容量不同
3、安全性不同:cookie存储在客户端,容易被窃取和篡改,session存储在服务器端,安全性较高
4、生命周期不同;cookie可以设置过期的时间session一般在用户关闭浏览器或者长时间没有操作后自动失效
5、使用的场景不同;cookie主要用于存储用户的登录状态,购物车信息,网站的偏好设置 等信息,session主要用于存储用户的登录信息,用户购买历史,用户访问的页面等