当前位置: 首页 > news >正文

计算机网络面试题总结

总结自Network | JavaGuide(Java面试 + 学习指南)

什么是OSI7层模型?

什么是TCP/IP 四层模型?

为什么网络要分层?

应用层有哪些常见的协议?

传输层有哪些常见的协议?

网络层有哪些常见的协议?

从输入 URL 到页面展示到底发生了什么?

HTTP 状态码有哪些?

HTTP 和 HTTPS 有什么区别?

HTTP/1.0 和 HTTP/1.1 有什么区别?

HTTP/1.1 和 HTTP/2.0 有什么区别?

HTTP/2.0 和 HTTP/3.0 有什么区别?

HTTP 是不保存状态的协议, 如何保存用户状态?

URI 和 URL 的区别是什么?

Cookie和Session都是用来在Web应用中跟踪用户状态的机制,但它们有一些重要的区别:

存储位置:

Cookie:存储在客户端(用户的浏览器)中,以文本文件的形式保存在用户的计算机上。

Session:存储在服务器端,通常存储在服务器的内存中或者数据库中。

数据存储方式:

Cookie:以键值对的形式存储在客户端,可以设置过期时间,可以存储在客户端的硬盘上。

Session:通常存储在服务器内存中,存储在服务器端的数据相对安全,客户端无法直接访问和修改。

安全性:

Cookie:相对不安全,因为存储在客户端,可能会被窃取或篡改。

Session:相对安全,因为数据存储在服务器端,客户端无法直接访问和修改。

生命周期管理:

Cookie:可以设置过期时间,可以长期保存在客户端,即使客户端关闭浏览器后仍然存在。

Session:通常在用户关闭浏览器或者长时间不活动后会过期,服务器会自动清除过期的Session数据。

存储内容:

Cookie:主要用于存储少量的文本数据,如用户ID、偏好设置等。

Session:可以存储更多、更复杂的数据,如用户登录状态、购物车内容等。

总的来说,Cookie和Session都是用来在Web应用中跟踪用户状态的机制,但它们的存储位置、安全性、生命周期管理和存储内容等方面有所不同,开发者需要根据具体的需求和安全考虑来选择使用哪种机制。通常情况下,会将用户的敏感信息存储在Session中,而将一些临时性的、不敏感的信息存储在Cookie中。

GET 和 POST 的区别

数据传输方式:

GET:通过URL传递数据,数据在URL中可见,以键值对的形式出现在URL中,例如:http://example.com/index.html?key1=value1&key2=value2。

POST:通过请求体传递数据,数据不在URL中可见,而是作为请求的一部分发送,通常用于提交表单或上传文件等情况。

数据传输大小限制:

GET:由于数据是作为URL的一部分传递,所以受到URL长度限制(因浏览器和服务器的不同而有所不同),通常不适合传输大量数据。

POST:由于数据是作为请求体传递,所以可以传输大量数据,通常用于提交表单、上传文件等情况。

安全性:

GET:因为数据在URL中可见,所以不适合传输敏感信息,如密码等,因为它们可能会被保存在浏览器历史记录或服务器日志中。

POST:因为数据在请求体中,相对于GET,POST请求传输的数据更安全,适合传输敏感信息。

缓存:

GET:可以被浏览器缓存,可以被收藏为书签,可被历史记录保存。

POST:不会被浏览器缓存,不可以被收藏为书签,不会被历史记录保存。

可见性:

GET:因为数据在URL中可见,所以用户可以直接看到传输的数据。

POST:因为数据不在URL中可见,所以用户无法直接看到传输的数据。

总的来说,GET和POST都是用于向服务器提交请求的方法,它们的区别主要在于数据传输方式、传输大小限制、安全性、缓存和可见性等方面。在实际应用中,开发者需要根据具体的需求和安全考虑来选择使用哪种请求方法。

DNS 解析的过程是什么样的?

DNS(Domain Name System)解析的过程如下:

用户在浏览器中输入网址,比如"www.baidu.com"

浏览器首先检查本地缓存,看是否有对应的域名解析记录。如果有,就直接使用缓存中的记录,不需要进行DNS解析。

如果本地缓存中没有对应的解析记录,浏览器会向本地域名服务器(通常由ISP提供)发送一个DNS解析请求。

本地域名服务器首先检查自己的缓存,看是否有对应的解析记录。如果有,就返回给浏览器。

如果本地域名服务器的缓存中没有对应的解析记录,它会向根域名服务器发送一个DNS解析请求。

根域名服务器收到请求后,会返回给本地域名服务器一个指向顶级域名服务器的地址。

本地域名服务器再向顶级域名服务器发送一个DNS解析请求。

顶级域名服务器收到请求后,会返回给本地域名服务器一个指向权威域名服务器的地址。

本地域名服务器再向权威域名服务器发送一个DNS解析请求。

权威域名服务器收到请求后,会返回给本地域名服务器对应的IP地址。

本地域名服务器收到IP地址后,将它存储在缓存中,并返回给浏览器。

浏览器收到IP地址后,就可以向对应的服务器发送请求,建立连接并获取网页内容。

简化版答案:当用户在浏览器中输入网址时,浏览器会向本地域名服务器发送一个DNS解析请求。如果本地域名服务器没有缓存对应的解析记录,它会依次向根域名服务器、顶级域名服务器和权威域名服务器发送DNS解析请求,直到获取到对应的IP地址。最终,本地域名服务器将IP地址返回给浏览器,浏览器就可以使用这个IP地址与服务器建立连接。

TCP 与 UDP

TCP 与 UDP 的区别?

什么时候选择 TCP,什么时候选 UDP?

使用 TCP 的协议有哪些?使用 UDP 的协议有哪些?

TCP 三次握手和四次挥手

TCP 如何保证传输的可靠性?

相关文章:

计算机网络面试题总结

总结自Network | JavaGuide(Java面试 学习指南) 什么是OSI7层模型? 什么是TCP/IP 四层模型? 为什么网络要分层? 应用层有哪些常见的协议? 传输层有哪些常见的协议? 网络层有哪些常见的协议? 从输入…...

视频转为序列图的软件,让视频批量转为序列图

你是否曾经遇到过这样的困境:需要将一段视频转为一系列的图片,但却没有合适的工具来完成?或许你曾经手动截图,或者用其他方式,但结果往往不尽如人意,图片质量差、色彩失真、画面不清晰。现在,让…...

目标检测中的常见指标

概念引入&#xff1a; TP&#xff1a;True Positive IoU > 阈值 检测框数量 FP: False Positive IoU < 阈值 检测框数量 FN: False Negative 漏检框数量 Precision:查准率 Recall:查全率&#xff08;召回率&#xff09; AP&am…...

QT上位机开发(会员充值软件)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 所有的控件当中&#xff0c;除了label、edit、radio、combobox和button之外&#xff0c;另外一个用的比较多的控件就是grid&#xff0c;也可称之为…...

小程序实现绘制图片 保存到手机

HTML <template><view><canvas canvas-id"myCanvas" :style"{height:380px,width:wWidthpx,background:#FFFFFF}"></canvas><view class"textCenter"><button click"saveCanvas">保存图片</b…...

Elasticsearch基本操作之索引操作

本文说下Elasticsearch基本操作之索引操作 文章目录 概述创建索引创建索引示例重复创建索引示例 查看索引查看所有索引查看单个索引 删除索引删除索引 概述 由于是使用命令来操作Elasticsearch&#xff0c;可以使用kibana&#xff0c;postman和apifox等工具 我使用了apifox来执…...

调用Java线程相关的API为什么能够控制操作系统线程?

今天我们解决Java线程的这五个问题&#xff1a; Java线程创建的完整流程 Java的线程是何时与JVM线程绑定的 JVM线程是何时与OS线程绑定的 Java线程对应的OS线程有什么特殊的地方 调用JavaAPI为什么能够操作OS线程 对于任何支持多线程的计算机语言来说&#xff0c;深入理解…...

【办公技巧】excel中设置选项按钮的方法

大家是否会遇到需要勾中选项的情况&#xff0c;我们可以在电子表格中制作出可以勾选、选中的选项按钮&#xff0c;今天我们一起学习一下设置方法。 首先&#xff0c;我们需要先在excel工具栏中添加一个功能模块&#xff1a;开发工具 依次点击excel中的文件 – 选项 – 自定义…...

如何编写高效的正则表达式?

正则表达式&#xff08;Regular Expression&#xff0c;简称regex&#xff09;是一种强大的文本处理技术&#xff0c;广泛应用于各种编程语言和工具中。本文将从多个方面介绍正则表达式的原理、应用和实践&#xff0c;帮助你掌握这一关键技术。 正则可视化 | 一个覆盖广泛主题…...

vue3中使用pinia,更改state中数据,试图不更新问题

直接上代码 使用computed&#xff0c;可以实现。...

【前端设计】文字聚光灯

欢迎来到前端设计专栏&#xff0c;本专栏收藏了一些好看且实用的前端作品&#xff0c;使用简单的html、css语法打造创意有趣的作品&#xff0c;为网站加入更多高级创意的元素。 案例 文字聚光灯效果可以用于网站标题 html <!DOCTYPE html> <html lang"en&quo…...

从零开始搭建企业级前端项目模板(vue3+vite+ts)

文章目录 主要内容一、vite脚手架工具初始化项目二、项目代码加入eslint校验和自动格式化2.1安装对应依赖插件2.2 配置script脚本&#xff0c;项目安装eslint配置2.3 安装完成后&#xff0c;后面启动项目还缺少一些依赖&#xff0c;提前按需安装好 三&#xff0c;修改eslintrc.…...

ElasticSearch的DSL查询语法解析

Elasticsearch提供了基于ISON的DSL (Domain Specific Lanquage)来定义查询。 目录 一、常见查询类型 二、DSLQuery基本语法 三、全文检索查询 3.1 match查询&#xff1a;会对用户输入内容分词&#xff0c;常用于搜索框搜索 &#xff0c;语法&#xff1a; 3.2 multi match…...

Linux 常用基础命令(2024年最新篇)新手小白必看 初识Linux

CSDN 成就一亿技术人&#xff01; 2024年 借助这篇文章 重新整理Linux 基础常用命令 CSDN 成就一亿技术人&#xff01; 上命令 一 &#xff0c;Linux语法格式 学习命令要掌握命令的格式 command [options] [arguments] 命令 选项 参数 二&#xff0c;Linux基础…...

Golang中for和for range语句的使用技巧、对比及常见的避坑

前言 基础语法不再赘述&#xff0c;写这个原因是之前的某次面试被问道了&#xff0c;我知道会导致问题但具体答下来不是很通顺。再回想自己开发过程中&#xff0c;很多地方都是使用到了for/for range&#xff0c;但是却从没注意过一些细节&#xff0c;因此专门学习一下进行记录…...

Nestjs 微服务实战 - 动态微服务创建链接

所有的微服务都需要做服务治理 服务治理包括&#xff08;配置中心、服务发现、注册服务等等&#xff09;&#xff0c;常见的包括 Java 的 Nacos&#xff0c;这里不关注与服务治理&#xff0c;只说明&#xff0c;如何用 nest 网关&#xff0c;并且在网关层动态实现微服务注入 …...

K8S部署pod状态CreateContainerConfigError问题解决

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…...

PyTorch 简单易懂的实现 CosineSimilarity 和 PairwiseDistance - 距离度量的操作

目录 torch.nn子模块Distance Functions解析 nn.CosineSimilarity 功能 主要参数 输入和输出的形状 使用示例 nn.PairwiseDistance 功能 主要参数 输入和输出的形状 使用示例 总结 torch.nn子模块​​​​​​​Distance Functions解析 nn.CosineSimilarity torc…...

app加载不到aar中的so库

如何将so文件打入到aar包中 1 在main下面新建jniLibs目录并将so放进去 2 在android{}中添加 sourceSets {main {jniLibs.srcDir file(jni/)}}app引用不到aar中的so文件(巨坑&#xff0c;不去查谁知道啊) 在aar 的manifeset application标签中中添加 android:extractNativeLi…...

vue-springboot基于java的实验室安全考试系统

本系统为用户而设计制作实验室安全考试系统&#xff0c;旨在实现实验室安全考试智能化、现代化管理。本实验室安全考试管理自动化系统的开发和研制的最终目的是将实验室安全考试的运作模式从手工记录数据转变为网络信息查询管理&#xff0c;从而为现代管理人员的使用提供更多的…...

mysql+关掉密码过期

mysql关掉密码过期 要在MySQL中关闭密码过期功能&#xff0c;可以按照以下步骤进行操作&#xff1a; 登录到MySQL服务器。 使用管理员账户&#xff08;如root&#xff09;连接到数据库。 mysql -uroot -ppassword 运行以下命令来查看当前的密码过期设置&#xff1a; SHOW…...

实际项目中的环形缓冲区

在实际项目中&#xff0c;环形缓冲区的设计要比之前讲到的原型稍微复杂一些&#xff0c;需要一些接口函数来实现数据结构封装。GitHub上有个大帅哥写了一个轻量的环形缓冲区库&#xff0c;可以学习参考&#xff0c;也可以直接集成到自己的项目中&#xff0c;功能已经非常完善。…...

输出回文数-第11届蓝桥杯选拔赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第23讲。 输出回文数&#…...

内存溢出会导致模块测试正常,植入系统失败

前些天&#xff0c;遇到了一个问题&#xff1a;需要在系统中添加一个小功能&#xff0c;单独测试&#xff0c;然后植入系统。 代码使用了从网上下载的函数&#xff0c;模块单独运行&#xff0c;没有问题&#xff0c;但是放在系统中运行就会出问题。 不得已的情况下&#xff0c…...

【taro react】 ---- QRCode 二维码生成

1. 需求分析 需要将输入的值转换为图片资源;由于只是单纯的展示,所以不需要很多比如加 logo 等复杂功能;不需要后端生成,直接前端操作;使用的第三方库尽可能小,功能单一;最后选择使用 qrcode-generator 库,只有 40kb。2. 使用第三方库 qrcode-generator 3. 转换 base…...

rk3566 armbian修复usb2.0并挂载U盘

文章目录 usb接口修复一 执行命令二 修改rk3566-panther-x2.dts⽂件三 查看是否识别 U盘格式化、挂载一 U盘格式化1.1 查看U盘1.2 查看U盘文件系统类型1.3 格式化为ext4系统 二 挂载U盘2.1 手动挂载2.2 自动挂载&#xff08;可选&#xff09; usb接口修复 一 执行命令 将位于…...

猫头虎博主第9期赠书活动:《YOLO目标检测》计算机AI视觉实战YOLO人工智能目标检测与跟踪图像处理深度学习图像检测书籍

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通Golang》…...

python 如何将英语单词翻译成中文

要将英语单词翻译成中文&#xff0c;可以使用 Python 的第三方库 googletrans。该库使用 Google Translate 提供的 API 来进行翻译。 首先&#xff0c;需要安装 googletrans 库。可以使用以下命令在终端或命令提示符中安装&#xff1a; pip install googletrans4.0.0-rc1然后…...

Linux_CentOS_7.9_MySQL_5.7配置数据库服务开机自启动之简易记录

前言&#xff1a; 作为运维保障&#xff0c;都无法准确预估硬件宕机的突发阶段&#xff0c;其生产数据实时在产出&#xff0c;那作为dba数据库服务的其重要性、必要性就突显而出。这里拿虚拟机试验做个配置记录&#xff0c;便于大家学习参考。 # 如出现服务器重启后登入报错无…...

js实现拖动盒子查看内容 内容拖动

一.分析实现过程 1.鼠标拖动的操作是&#xff0c;按下鼠标不松&#xff0c;拖动鼠标&#xff0c;就需要监听鼠标点击事件(onmousedown),鼠标拖动事件(onmousemove) 2.鼠标拖动事件的监听时机&#xff0c;是在按下鼠标之后监听的&#xff0c;所以鼠标拖动事件需要放在鼠标按下事…...

网站设计制作步骤/网店代运营和推广销售

2019独角兽企业重金招聘Python工程师标准>>> MySQL支持的索引类型 MySQL支持多种索引类型&#xff0c;每一个存储引擎对其有着不同程度的支持。 MySQL支持以下四种索引&#xff0c;具体支持情况见下表&#xff1a; 索引MyISAMInnoDBMemoryB-Tree支持支持支持HASH不支…...

网站建设 南宁/网络推广100种方式

20172303 2017-2018-2 《程序设计与数据结构》第9周学习总结 教材学习内容总结 第十一章 异常 1.异常 异常处理 异常处理的常用方法有三种&#xff1a; 根本不处理当异常发生时处理异常在程序的某个位置集中处理异常处理异常的主要方法是捕获异常异常捕获——try-catch语句 格式…...

wordpress oilost v1.0/网络营销总结

一个不成熟的程序员。编程工作干了三年&#xff0c;全部都是在维护上。我们有5个软件人员。维护的代码量不少于100万行。但我们是不成熟的程序员&#xff0c;因此&#xff0c;这些代码的质量也是不成熟的。维护的难度和强度是非常大的。所作就是不停的修补。让不清晰的代码&…...

wordpress getvar/指数运算法则

591. 标签验证器【困难题】【每日一题】 思路&#xff1a; 分类讨论&#xff0c;我分不明白&#xff0c;对答案的写法加了注释。 代码&#xff1a; class Solution {public boolean isValid(String code) {int n code.length();char[] chars code.toCharArray();Deque<S…...

给人做时时彩网站建设犯法/自助建站网站

从广义上讲&#xff0c;就是对于重要的服务&#xff0c;使用两台服务器&#xff0c;互相备份&#xff0c;共同执行同一服务。当一台服务器出现故障时&#xff0c;可以由另一台服务器承担服务任务&#xff0c;从而在不需要人工干预的情况下&#xff0c;自动保证系统能持续提供服…...

网站建设没付尾款/上海关键词排名优化公司

龙芯处理器7A2000桥片iTOP-3A5000开发板 主要参数 处理器: 龙芯3A5000 主频: 2.3GHz-2.5GHz 桥片: 7A2000 内存: 8GB、16GB DDR4带ECC纠错&#xff08;配置可选&#xff09; 系统: Loongnix 典型功耗: 35W 核心板: 16层 底板: 4层 核心板参数 尺寸: 125*95mm C…...