面经笔记本(计网&&web篇)

面经笔记本(计网&&web篇)

基础篇

TCP三次握手四次挥手?

(参考:https://www.cnblogs.com/bj-mr-li/p/11106390.html
在这里插入图片描述
三次握手:
第一次握手:建立连接时,客户端发送SYN包(syn=x),SIN置为1,发送到服务器,等待服务器确认;

第二次握手:服务器收到SYN包,确认客户的SYN后,ACK置为1,ack=x+1,表示确认收到消息,同时自己也发送一个SYN包(syn=k),等待客户端确认;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,TCP连接成功,完成三次握手。

四次挥手:
第一次挥手:客户端A发送一个FIN+SYN(syn=x),用来关闭客户A到服务器B的数据传送。

第二次挥手:服务器B收到这个FIN,它发回一个ACK(ack=x+1)。

第三次挥手:服务器B关闭与客户端A的连接,发送一个FIN+SYN(syn=y)给客户端A。

第四次挥手:客户端A发回ACK报文确认,并将确认并发回一个ACK(ack=x+1)。

为什么建立连接协议是三次握手,而关闭连接却是四次握手呢?

三次握手中,第二次从服务器到客户端的握手,是可以在发送确认报文的同时发送请求报文的。但是四次挥手中,第二次和第三次挥手不能同时发送,因为服务器接收到客户端的结束请求时可能还没做好准备,中间需要一段时间完成未完成的数据传输之后才能发送结束请求。

第三次没有收到ACK包会怎样?

   由于Server没有收到ACK确认,因此会重发之前的SYN+ACK(默认重发五次,之后自动关闭连接)

如果已经建立了连接,但客户端出现了故障怎么办?

   服务器每收到一次客户端的请求后都会重新复位一个计时器,时间通常是设置为2小时,若两小时还没有收到客户端的任何数据,服务器就会发送一个探测报文段,以后每隔75秒钟发送一次。若一连发送10个探测报文仍然没反应,服务器就认为客户端出了故障,接着就关闭连接。

cookie与session?

cookie是服务器在本地机器上存储的小段文本,并随每一个请求发送至同一服务器,cookie是保存在客户端的。

cookie分为会话cookie和持久cookie
  会话cookie:不设置过期时间,只要关闭浏览器窗口cookie就消失了。会话cookie不保存在硬盘上,保存在内存里。
  持久cookie:设置过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。存储在硬盘上的cookie可以在不同的浏览器进程间共享。
  
  利用持久Cookie自动登录:当用户在某个网站注册后,就会收到一个惟一用户ID的cookie。客户后来重新连接时,这个用户ID会自动返回,服务器对它进行检查,确定它是否为注册用户且选择了自动登录,从而使用户无需给出明确的用户名和密码,就可以访问服务器上的资源。

Session定义
  Session是在服务器端保存用户数据。浏览器第一次发送请求时,服务器自动生成了Session ID来唯一标识这个并返回给浏览器。浏览器第二次发送请求会将前一次服务器返回的Session ID放在请求中一并发送到服务器上,服务器从请求中提取出Session ID,并和保存的所有Session ID进行对比,找到这个用户的信息。一般这个Session ID会有个时间限制,默认30分钟超时后毁掉这次Session ID。
  
总的来说Cookie 在客户端(浏览器、易伪造、不安全),Session 在服务器端(会消耗服务器资源)

HTTP与HTTPS有什么区别?

   HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

HTTPS和HTTP的区别主要如下:

1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值