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

news2024/11/15 8:01:24

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2071738.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【记录】基于Windows系统安装rust环境的过程

到官网下载安装包【入门 - Rust 程序设计语言 (rust-lang.org)】 ![[Pasted image 20240703142911.png]] 选择1,快速安装 选择编译配置,1为标准 安装完成 验证是否安装完毕 rustc --versioncargo --version验证成功!

【数据结构篇】~二叉树(堆)

【数据结构篇】~二叉树(堆) 二叉树1.树2.树的组成3.二叉树4.堆1.向上调整算法2.向下调整算法3.堆排序 4.topk问题源码 二叉树 1.树 树的概念与结构​ 树是一种非线性的数据结构,它是由 n(n>0) 个有限结点组成一个…

利用“2+1链动模式小程序AI智能名片S2B2C商城源码”优化企业参与外部社群策略

摘要:在当今数字化时代,企业参与外部社群已成为其市场扩张、品牌塑造及用户增长不可或缺的一环。然而,面对浩如烟海的社群类型,包括行业论坛、地区性论坛、特定兴趣爱好的论坛以及短视频网站等,如何精准选择并有效介入…

16.C基础_内存管理

内存分区 1、整体框图 内存分为代码区、全局区、栈区、堆区。代码区和全局区在代码编译完之后就已经确定,栈区和堆区是在程序运行时进行开辟和释放的。整体内存分区框图如下: 对于一个进程,它一共有4G的空间,其中0~3G为上述的4个…

Flask+LayUI开发手记(三):LayUI表格的后端数据分页展现

前几天写了数据表格table的前端分页展现,思路是把数据一次性取到前端,然后由前端来控制分页展现。这种做法主要目的是为了降低后端数据库读写的次数减轻服务端运行压力。但是,如果功能不单是查询还要进行增删改操作,那么一次数据提…

自制项目镜像并拉取

1.先把项目jar包拉到Linux上看能用不 mvn clean package cd target java -jar shared_battery-0.0.1-SNAPSHOT.jar 成功!!!!!!!!!!!!&…

24-8-24-读书笔记(十五)-《空谷幽兰》([法] 巴尔扎克 [译] 李玉民 )

文章目录 《空谷幽兰》([法] 巴尔扎克 [译] 李玉民 )阅读笔记记录(P112-P126)总结 《空谷幽兰》([法] 巴尔扎克 [译] 李玉民 ) 《空谷幽兰》巴尔扎克最为得意的作品,这篇主要记录一个德莫尔索夫…

SSRF漏洞实现

文章目录 SSRF题1SSRF题2fastcgi方法 入侵网站收集资产方法SSRF反弹 SSRF题1 漏洞复现平台 代码: 首先,可以用dict探测一下内网开放的端口 可以检测是否有fastcgi或者是redis,如果有fastcgi,那么就有RCE漏洞破解,如…

Adobe Animate (AN)软件安装,硬件配置(附安装包)

目录 一、Adobe An 软件简介 Adobe An 软件的特点 Adobe An 软件的优势 下载 二、Adobe An 软件安装 安装前的准备工作 安装过程中的注意事项 安装后的设置 三、Adobe An 软件使用 高级动画技巧 交互设计 优化与性能提升 四、Adobe An 软件快捷键 选择工具快捷键…

专业级推荐:2024年硬盘数据恢复软件全攻略

硬盘作为我们存储珍贵数据、工作文档、家庭照片以及个人视频的核心载体,其重要性不言而喻。然而,随着使用时间的增长或是操作不当硬盘可能会遭遇损坏。遇到这种问题我们要怎么挽救自己的数据呢,这次我就来分享下我用过的硬盘数据恢复软件。 …

基于Netty的RPC框架

RPC远程过程调用(Remote Procedure Call)是一种通信协议,它允许程序调用位于不同地址空间(通常是网络上的另一台机器)的方法,而无需程序员显式编码这个远程调用的细节。这种技术隐藏了底层的通讯细节,使得调用远程服务…

中国数据库的崛起:从本土化挑战到全球化机遇

引言 谈起中国的崛起,大家第一反应可能是“中国制造”“高铁奇迹”“电商帝国”,但今天我们要聊的,是一个比这些还要神秘的存在——中国的数据库技术。或许你平时并不会经常关注它,但这个隐身在你手机、电脑、服务器背后的无形力…

Towards Enriched Controllability for Educational Question Generation

文章目录 题目摘要引言生成显式和隐式问题实验设置结果基线结论 题目 迈向教育问题生成的丰富可控性 论文地址:https://arxiv.org/abs/2306.14917 摘要 问题生成 (QG) 是自然语言处理 (NLP) 中的一项任务,涉及根据输入自动生成问题,输入通常由文本和目标…

在进行网站链接时,‌加上http或https的重要性不言而喻

这一简单的操作背后,‌蕴含着对搜索引擎优化(‌SEO)‌的深刻理解,‌以及对网站权重提升的精准把握。‌以下,‌我们将深入探讨这一话题,‌以期为您的网站优化提供有价值的参考。‌优化(‌SEO&…

即时通讯IM软件推荐:五款适合企业内部使用的IM即时通讯软件

随着企业的不断发展,内部沟通和协作变得尤为重要。为了提高沟通效率、加强团队协作以及促进信息共享,企业需要选择适合自身需求的即时通讯IM软件。本文将为大家推荐五款适合企业内部使用的IM即时通讯软件,其中包括了备受赞誉的WorkPlus。 Wor…

SPSS和MATLAB实现【典型相关分析】

典型相关分析(Canonical Correlation analysis ),是用于研究 两组 变量(每组变量中都可能有多个指标) 之间相关关系的一种多元统计方法。它能够揭示出两组变量之间的内在联系。 我们之前总结的相关性分析,也…

libtorch学习历程(二):张量

libtorch(pytorch c)的大多数api和pytorch保持一致。 使用之前要导入torch #include <torch/torch.h> #include <torch/script.h> 1. 张量初始化 1.1 固定的值与尺寸 在C中&#xff0c;使用{}来表示尺寸 zeros() zeros()产生值全为0的张量。 // 得到一个三维…

Java数据结构篇

Map体系 1.HashMap 哈希冲突&#xff1a;开放定址法、再哈希法、链地址法插入元素先检查是否到达阈值&#xff0c;是则先数组扩容&#xff0c;然后再插入链表&#xff0c;链表长度超过8则转红黑树1.7之前由于扩容导致的头插法尾插法混合导致指针错误&#xff0c;出现死循环问…

[底层原理] C/C++获取时间(将时间戳转换为年月日)?

前言 大家都知道&#xff0c;计算机中存储的时间是一个整数&#xff0c;在现在的编程语言中&#xff0c;可以很方便地将时间戳&#xff08;整数&#xff09;转换为字符串&#xff0c;但是如果没有这些我们该如何自己计算出呢&#xff1f; 刚好以前研究过Nginx的源代码&#xff…

docker系列12:Dockerfile实战

传送门 docker系列1&#xff1a;docker安装 docker系列2&#xff1a;阿里云镜像加速器 docker系列3&#xff1a;docker镜像基本命令 docker系列4&#xff1a;docker容器基本命令 docker系列5&#xff1a;docker安装nginx docker系列6&#xff1a;docker安装redis docker系…