首页 > 其他分享 >计算机网络面试真题总结(二)

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

时间:2024-08-24 09:22:38浏览次数:14  
标签:浏览器 真题 用户 计算机网络 面试 Session Cookie 服务器 客户端

文章收录在网站: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协议。

标签:浏览器,真题,用户,计算机网络,面试,Session,Cookie,服务器,客户端
From: https://blog.csdn.net/qq_35508033/article/details/141490802

相关文章

  • 【前端面试】浏览器原理解读
    前端进阶——浏览器篇-CSDN博客浏览器工作原理与Javascript高级(前后端异步)-CSDN博客DOM树的建立过程前端DOM(文档对象模型)数的建立过程,实际上是浏览器解析HTML文档并构建DOM树的过程。这一过程大致可以分为以下几个步骤:1.加载HTML文档当浏览器请求到一个HTML文档时,它首先......
  • 计算机网络——TCP协议与UDP协议详解(下)
    一、TCP协议1.1TCP协议的报文TCP全称为"传输控制协议(TransmissionControlProtocol")。人如其名,要对数据的传输进行一个详细的控制。我们先看其报文格式,如下图:TCP报文由以下几个字段组成:源端口号和目标端口号:每个TCP连接都有一个源端口号和一个目标端口号。源端口号......
  • 文心快码Baidu Comate 帮你解大厂面试题:在8g内存的机器,能否启动一个7G堆大小的java进
    ......
  • 面试问题记录
    1、自我介绍(不要讲产品,讲自己做什么参与那些工作) 2、强压测试(接口压力测试) 3、系统是面对B还是C 4、测试用例要自己编写吗?谁负责,写的时候参考什么?根据什么保证不会漏掉,不会出现BUG5、测试用例谁来审核,怎么确认覆盖度6、测试用例会用多久的时间,上一个新的功能需要时间范......
  • 2024最新的Java八股文合集来了,彻底解决一线大厂面试难题
    Java提供的多态机制?Java提供了两种用于多态的机制,分别是重载与覆盖。重载:重载是指同一个类中有多个同名的方法,但这些方法有不同的参数,在编译期间就可以确定调用哪个方法。覆盖:覆盖是指派生类重写基类的方法,使用基类指向其子类的实例对象,或接口的引用变量指向其实现类的实......
  • 软件测试岗位的经典面试题
    昨天辅导星球一位同学的终面,他提到了前两轮技术面试中面试官问到的几道面试题,他回答的不是特别好,问我有没有更好的方法。我看了一下,都是很经典的测试岗位面试题。在我近十年的测试职业生涯中,我也面试过不少软件测试岗位的候选人,这几个问题我也经常问到。但很多同学在这几个高频......
  • 计算机网络和安全
    5.计算机网络和安全5.1计算机网络简介计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路和通信设备连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。计算机网络的主要功能:资源共享......
  • c++一些面试题目
    摘自:https://www.cnblogs.com/lidabo/p/3284921.html1、Whatisachievedbyprefixingthe'static'keywordtoafile-levelfunctionorfile-levelvariabledeclaration? 使用static关键字修饰文件级的函数和变量起到什么作用? key:对变量来说,不允许文件外的程序访问;对......
  • Spring---频率最高面试题1
    01.Spring框架的基本理解     •关键字:核心思想IOC\AOP、作用(解耦、简化),简单描述框架组成·     Spring框架是一款轻量级的开发框架,核心思想是IOC(控制反转)和AOP(面向切面编程),为Java应用程序开发提供组件管理服,用于组件之间的解耦,以及简......
  • 【面试】一文搞懂MySQL的分库分表!
            MySQL分库分表是一种数据库优化手段,通常用于应对数据量巨大、并发量高的场景。随着系统数据的增长,单个数据库可能难以承受高负载,进而影响性能和可扩展性。分库分表的目标是将数据分散到多个库或表中,从而减少单一库或表的压力,提高系统性能。目录一我们为什......