每天进步一点之灵魂拷问9(昨日没来得及发,今日发存货)

#1
get 与 post 请求的本质区别?

本质上的区别:
GET和POST最大的区别主要是GET请求是幂等性的,POST请求不是。这个是它们本质区别。
幂等性:一次和多次请求某一个资源应该具有同样的副作用。
意味着对同一URL的多个请求应该返回同样的结果。

使用上:
get直接用url访问,post需要将数据放在body中。
get携带数据有限制,pos数据则可以很大。
post安全点,因为数据在地址栏上不可见

#2
http长连接和短连接是什么?http/1.0中默认使用?http/1.1呢?

1.0中,默认使用短连接。
1.1中,默认使用长连接。

短连接:
浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。
如果客户端浏览器访问的某个HTML或其他类型的 Web页中包含有其他的Web资源,如JavaScript文件、图像文件、CSS文件等;当浏览器每遇到这样一个Web资源,就会建立一个HTTP会话。

长连接:
使用长连接的HTTP协议,会在响应头有加入这行代码:Connection:keep-alive
在使用长连接的情况下,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的 TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。实现长连接要客户端和服务端都支持长连接。

#3
http和https之间的区别?5个角度对比,端口,安全性,资源消耗,证书需求,基础协议?

http: 80
https:443

http:无加密,不安全

http:资源消耗少,因为不需要加密

http:不需要证书

http:运行在TCP协议上。
https:SSL协议,SSL又基于TCP协议上

#4
浏览器中输入网站后,会发生什么?大致哪6步?

1. DNS域名解析:把域名变成ip,www.zhihu.com -> xxx.xxx.xxx.xxx
2. tcp(切割报文成段,然后发送)三次握手建立连接。浏览器挑选一个随机端口(1024-65535)向服务端web程序80端口发起tcp连接。
3. 之后,发起http请求。
4. 服务器接收到 http请求后,客户端获取到了html网页源代码。
5. 浏览器解析html代码,并请求html中的资源。
6. 浏览器对请求到的资源,按照源代码进行渲染展示给我们。

#5
cookie和session是啥?提示:客户和服务不同角度

Cookie:
存在于客户端
【服务器】发送到 【用户浏览器】 并保存在【本地】的一小块数据,它会在浏览器下次向同一服务器再发起请求时被【携带】并【发送】到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie 使基于无状态的 HTTP 协议记录稳定的状态信息成为了可能。

Session:
存储在服务端。
存储着特定用户会话所需要的属性及配置信息。

#6
Cookie和Session之间如何配合?

客户 ———-请求——->服务器 ———创建Session——>返回SessionID给客户的浏览器——>客户存储到本地Cookie中。

客户再——-请求———-请求查询该网站下有没有Cookie,有就携带发送。———->服务器获取Cookie中的SessionID核对服务器端的Session中的SessionID,如果有,可以访问登陆后的资源信息。

#7
分布式Session有什么问题?

在互联网公司为了可以支撑更大的流量,后端往往需要多台服务器共同来支撑前端用户请求,那如果用户在 A 服务器登录了,第二次请求跑到服务 B 就会出现登录失效问题。

分布式 Session 一般会有以下几种解决方案:


1.客户端存储:直接将信息存储在cookie中,cookie是存储在客户端上的一小段数据,客户端通过http协议和服务器进行cookie交互,通常用来存储一些不敏感信息


2.Nginx ip_hash 策略:服务端使用 Nginx 代理,每个请求按访问 IP 的 hash 分配,这样来自同一 IP 固定访问一个后台服务器,避免了在服务器 A 创建 Session,第二次分发到服务器 B 的现象。



3.Session 复制:任何一个服务器上的 Session 发生改变(增删改),该节点会把这个 Session 的所有内容序列化,然后广播给所有其它节点。


4.共享 Session:将用户的 Session 等信息使用缓存中间件(如Redis)来统一管理,保障分发到每一个服务器的响应结果都一致。
建议采用共享 Session的方案。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万物琴弦光锥之外

给个0.1,恭喜老板发财

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值