计算机网络面试题总结
总结自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 有什么区别?
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 四层模型? 为什么网络要分层? 应用层有哪些常见的协议? 传输层有哪些常见的协议? 网络层有哪些常见的协议? 从输入…...
视频转为序列图的软件,让视频批量转为序列图
你是否曾经遇到过这样的困境:需要将一段视频转为一系列的图片,但却没有合适的工具来完成?或许你曾经手动截图,或者用其他方式,但结果往往不尽如人意,图片质量差、色彩失真、画面不清晰。现在,让…...
目标检测中的常见指标
概念引入: TP:True Positive IoU > 阈值 检测框数量 FP: False Positive IoU < 阈值 检测框数量 FN: False Negative 漏检框数量 Precision:查准率 Recall:查全率(召回率) AP&am…...
QT上位机开发(会员充值软件)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 所有的控件当中,除了label、edit、radio、combobox和button之外,另外一个用的比较多的控件就是grid,也可称之为…...
小程序实现绘制图片 保存到手机
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,可以使用kibana,postman和apifox等工具 我使用了apifox来执…...
调用Java线程相关的API为什么能够控制操作系统线程?
今天我们解决Java线程的这五个问题: Java线程创建的完整流程 Java的线程是何时与JVM线程绑定的 JVM线程是何时与OS线程绑定的 Java线程对应的OS线程有什么特殊的地方 调用JavaAPI为什么能够操作OS线程 对于任何支持多线程的计算机语言来说,深入理解…...
【办公技巧】excel中设置选项按钮的方法
大家是否会遇到需要勾中选项的情况,我们可以在电子表格中制作出可以勾选、选中的选项按钮,今天我们一起学习一下设置方法。 首先,我们需要先在excel工具栏中添加一个功能模块:开发工具 依次点击excel中的文件 – 选项 – 自定义…...
如何编写高效的正则表达式?
正则表达式(Regular Expression,简称regex)是一种强大的文本处理技术,广泛应用于各种编程语言和工具中。本文将从多个方面介绍正则表达式的原理、应用和实践,帮助你掌握这一关键技术。 正则可视化 | 一个覆盖广泛主题…...
vue3中使用pinia,更改state中数据,试图不更新问题
直接上代码 使用computed,可以实现。...
【前端设计】文字聚光灯
欢迎来到前端设计专栏,本专栏收藏了一些好看且实用的前端作品,使用简单的html、css语法打造创意有趣的作品,为网站加入更多高级创意的元素。 案例 文字聚光灯效果可以用于网站标题 html <!DOCTYPE html> <html lang"en&quo…...
从零开始搭建企业级前端项目模板(vue3+vite+ts)
文章目录 主要内容一、vite脚手架工具初始化项目二、项目代码加入eslint校验和自动格式化2.1安装对应依赖插件2.2 配置script脚本,项目安装eslint配置2.3 安装完成后,后面启动项目还缺少一些依赖,提前按需安装好 三,修改eslintrc.…...
ElasticSearch的DSL查询语法解析
Elasticsearch提供了基于ISON的DSL (Domain Specific Lanquage)来定义查询。 目录 一、常见查询类型 二、DSLQuery基本语法 三、全文检索查询 3.1 match查询:会对用户输入内容分词,常用于搜索框搜索 ,语法: 3.2 multi match…...
Linux 常用基础命令(2024年最新篇)新手小白必看 初识Linux
CSDN 成就一亿技术人! 2024年 借助这篇文章 重新整理Linux 基础常用命令 CSDN 成就一亿技术人! 上命令 一 ,Linux语法格式 学习命令要掌握命令的格式 command [options] [arguments] 命令 选项 参数 二,Linux基础…...
Golang中for和for range语句的使用技巧、对比及常见的避坑
前言 基础语法不再赘述,写这个原因是之前的某次面试被问道了,我知道会导致问题但具体答下来不是很通顺。再回想自己开发过程中,很多地方都是使用到了for/for range,但是却从没注意过一些细节,因此专门学习一下进行记录…...
Nestjs 微服务实战 - 动态微服务创建链接
所有的微服务都需要做服务治理 服务治理包括(配置中心、服务发现、注册服务等等),常见的包括 Java 的 Nacos,这里不关注与服务治理,只说明,如何用 nest 网关,并且在网关层动态实现微服务注入 …...
K8S部署pod状态CreateContainerConfigError问题解决
天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...
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文件(巨坑,不去查谁知道啊) 在aar 的manifeset application标签中中添加 android:extractNativeLi…...
vue-springboot基于java的实验室安全考试系统
本系统为用户而设计制作实验室安全考试系统,旨在实现实验室安全考试智能化、现代化管理。本实验室安全考试管理自动化系统的开发和研制的最终目的是将实验室安全考试的运作模式从手工记录数据转变为网络信息查询管理,从而为现代管理人员的使用提供更多的…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...
nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...
Linux——TCP和UDP
一、TCP协议 1.特点 TCP提供的是面向连接、可靠的、字节流服务。 2.编程流程 (1)服务器端的编程流程 ①socket() 方法创建套接字 ②bind()方法指定套接字使用的IP地址和端口。 ③listen()方法用来创建监听队列。 ④accept()方法处理客户端的连接…...
《架构即未来》笔记
思维导图 第一部分:可扩展性组织的人员配置 第二部分:构建可扩展的过程 第三部分:可扩展的架构方案 第四部分:其他的问题和挑战 资料 问软件工程研究所: https://www.sei.cmu.edu/ AKF公司博客: http://www.akfpart…...
React 进阶特性
1. ref ref 是 React 提供的一种机制,用于访问和操作 DOM 元素或 React 组件的实例。它可以用于获取某个 DOM 元素的引用,从而执行一些需要直接操作 DOM 的任务,例如手动设置焦点、选择文本或触发动画。 1.1. 使用 ref 的步骤 1. 创建一个 ref:使用 React.createRef 或 …...
