计算机网络面试真题总结(二)

文章收录在网站:http://hardyfish.top/

文章收录在网站:http://hardyfish.top/

文章收录在网站:http://hardyfish.top/

文章收录在网站:http://hardyfish.top/

在这里插入图片描述

在浏览器中输入 URL 地址到显示主页的过程?

URL解析:

  • 浏览器首先会解析你输入的URL,确定你要访问的是哪个网站
    • 这个网站的地址(IP地址)是什么,以及你请求访问该网站的具体页面路径。

DNS查询

  • 如果浏览器缓存或系统缓存中没有该域名的IP地址
    • 那么浏览器将发送一个请求到DNS(域名系统)服务器,来查找对应的IP地址。

建立连接

  • 找到IP地址后,浏览器会向该地址发送一个TCP连接请求,这个过程通常被称为TCP的三次握手。

发送HTTP请求

  • 一旦TCP连接被建立,浏览器就可以通过这个连接向服务器发送HTTP请求了。
    • 这个请求里会包含你要获取的资源类型,所使用的HTTP版本,以及可能的一些其他信息。

服务器处理请求并返回HTTP响应

  • 服务器接收到HTTP请求后,进行处理,然后返回一个HTTP响应
    • 响应中包含了要访问的网页的内容,以及一些描述信息,如状态码、内容类型等。

浏览器解析HTML

  • 浏览器接收到服务器的响应数据后,开始解析HTML,构建DOM树。

资源加载

  • 在解析HTML的过程中,如果遇到CSS、JavaScript文件或者图片等资源,浏览器会再次发送HTTP请求去获取。

浏览器渲染页面

  • 在获取到所有的资源文件后,浏览器开始渲染页面,将资源文件转化为网页上的可视、可交互的内容。

关闭连接

  • 如果HTTP头部中的Connection字段的属性被设置为close,那么浏览器和服务器的TCP连接在传输完成后将会被关闭。
    • 如果设置为keep-alive,那么TCP连接会被保持一段时间,以便传输更多的请求。

以上就是在浏览器中输入URL地址到显示主页的过程

  • 这个过程可能会涉及到网络协议(如DNS、HTTP、TCP/IP等)的一系列操作

什么是 Session?

Session(会话)是指在客户端和服务器之间建立的一种会话状态。

  • 通过会话,服务器可以在不同请求之间识别和跟踪特定的客户端,并保持与客户端的交互状态。

在Web应用中,Session通常使用一种名为Session ID的机制来实现。

当客户端首次访问服务器时,服务器会为此客户端生成一个唯一的Session ID

  • 并将其存储在服务器端的存储介质(如内存、数据库、文件)中,同时将该Session ID发送给客户端保存在Cookie中。

客户端在后续的请求中,会将存储在Cookie中的Session ID自动带上,供服务器在接收到请求时进行识别。

  • 然后,服务器根据Session ID找到相应的会话数据,使得服务器能够识别特定的客户端并维持会话状态。

会话通常用于以下目的:

跟踪用户:

  • 通过Session ID,服务器可以记录和存储与特定用户相关的信息,如登录状态、权限、购物车内容等。
    • 这样,在用户在同一网站上的不同页面之间,服务器能够保持用户的状态和数据的一致性。

用户验证和安全:

  • Session可以用于验证用户身份,确保只有经过身份验证的用户才能访问特定资源。
    • 服务器可以在会话中存储一些敏感信息,如用户ID、角色等,以验证用户的权限和身份。

数据共享:

  • Session使得服务器能够在不同请求之间共享和传递数据。
    • 服务器可以将一些重要的数据存储在会话中,以便在后续请求中使用,而不需要每次都重新获取或计算。

需要注意的是,会话数据通常存储在服务器端,可以在一段时间后过期或被销毁。

  • 同时,会话的安全性也是重要的,敏感数据应该进行加密和保护,防止被恶意窃取。

总的来说,Session是一种在客户端和服务器之间建立的会话状态

  • 通过Session ID进行识别和跟踪客户端,实现用户的会话管理、身份验证和数据共享。

什么是 Cookie?

Cookie是一种在客户端(浏览器)和服务器之间交换的小型数据文件。

它由服务器生成并发送给客户端,然后客户端保存在本地的浏览器中。

  • 每次浏览器向同一服务器发送请求时,会将相应的Cookie信息附加在请求头中一起发送给服务器。

Cookie主要用于记录和追踪与用户相关的信息,以实现以下功能:

会话管理:

  • 通过使用会话Cookie,服务器可以在用户的多个请求之间维持会话状态。
    • 它使服务器能够识别特定用户,并保持用户登录状态,而不需要用户在每个请求中重新验证身份。

用户个性化:

  • Cookie可以用于存储用户的个人喜好、偏好或设置等信息。
    • 例如,在某个电子商务网站上,可以使用Cookie来记录用户的购物车内容和偏好选项
      • 以便在用户下次访问时进行个性化推荐或还原购物车。

随机广告:

  • Cookie可以用于进行广告跟踪和定向投放。
    • 广告商可以在用户访问某个网站时,通过Cookie记录用户的兴趣、浏览行为等信息
      • 然后根据这些信息显示与用户兴趣相关的广告。

记住用户:

  • 通过在Cookie中存储持久性数据,网站可以实现 记住我 的功能,使用户在下次访问时不需要重新输入用户名和密码。

  • 需要注意的是,Cookie是存储在用户本地的浏览器中,它可能包含敏感信息,因此在使用Cookie时需要注意安全性。

    • 同时,用户也可以通过浏览器的设置来管理和删除存储的Cookie。

总的来说,Cookie是一种用于在客户端和服务器之间传递数据的机制

  • 主要用于会话管理、用户个性化、广告跟踪等功能,以提供更好的用户体验和个性化服务。

Cookie和Session有什么区别?

Cookie和Session主要有以下几点区别:

存储位置:

  • Cookie数据存储在客户端(浏览器),而Session数据存储在服务器端。
    • 因此,从保护用户数据的角度来看,Session比Cookie更安全。

生命周期:

  • 通常情况下,Cookie有固定的过期时间,除非用户手动清理否则不会消失,即使关闭浏览器或重启计算机也依然存在。
    • 而Session的生命周期通常是在用户关闭浏览器或者超出了设定的时间段后,服务器就会自动将其销毁。

大小限制:

  • 由于Cookie数据存储在客户端,所以它有大小限制,一般为4KB左右。
    • 而Session是存储在服务器端,理论上其数据大小没有限制,但是如果存储过多的数据会增加服务器的负担。

数据类型限制:

  • Cookie只能保存字符串类型的数据,对于复杂的数据结构需要进行序列化。
    • 而Session可以存储任何类型的数据,比如对象和数组等。

跨域问题:

  • 基于安全性,Cookie不可以进行跨域名存储,每个域名下的Cookie数据是分开存储的。
    • 而Session技术没有这项限制。

总体来说,选择使用Cookie还是Session主要取决于具体的需求和应用场景。

IP 地址和 Mac 地址区别?

IP地址是逻辑地址,而MAC地址是物理地址。

IP地址是在网络层使用的地址:

  • 用于标识网络上的主机或路由器
  • IP地址是可变的,可以在网络上动态分配或更改
  • IP地址是全球唯一的,由互联网号码分配机构(IANA)管理分配

MAC地址则是在数据链路层使用的地址:

  • 用于标识网络上的网卡或其他物理设备。
  • MAC地址是固定的,通常是出厂时设定的。
  • MAC地址是由设备厂商分配,通常在设备生产时就已经固定。

IP地址和MAC地址都是用来标识设备的地址,但其用途和管理方式不同。

  • 在实际应用中,IP地址通常用于网络间通信,而MAC地址用于局域网内部通信

说一说TCP与UDP的区别

TCP协议的主要特点

TCP是面向连接的传输层协议,所谓面向连接就是双方传输数据之前,必须先建立一条通道

  • 例如三次握手就是建议通道的一个过程,而四次挥手则是结束销毁通道的一个其中过程
    • 而 UDP 则是无连接的传输协议。
  • TCP 可以提供可靠的传输,比如数据丢失,超时,TCP 都会重传,并且数据包也能够按序到达
    • 而 UDP 是不可靠的,数据丢失了也不会重传等等。

从效率的角度讲,UDP 的效率更快,因为 UDP 不需要做诸如三次握手/四次挥手/重传等额外的消耗。

从应用场景角度讲,对信息的正确率要求比较高的可以采用 TCP 协议

  • 比如我们平时常见的文字聊天
  • 而允许出现小部分数据丢失的,则可以采用 UDP,比如视频聊天等。

像HTTP、HTTPS、FTP、TELNET、SMTP(简单邮件传输协议)协议基于可靠的TCP协议。

TFTP、DNS、DHCP、TFTP、SNMP(简单网络管理协议)、RIP基于不可靠的UDP协议。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值