计算机网络常问面试题

news2024/11/16 17:44:11

一.HTTPS是如何保证安全传输的

https通过使⽤对称加密、⾮对称加密、数字证书等⽅式来保证数据的安全传输。

  1. 客户端向服务端发送数据之前,需要先建⽴TCP连接,所以需要先建⽴TCP连接,建⽴完TCP连接后,服务端会先给客户端发送公钥,客户端拿到公钥后就可以⽤来加密数据了,服务端到时候接收到数据就可以⽤私钥解密数据,这种就是通过⾮对称加密来传输数据
  2. 不过⾮对称加密⽐对称加密要慢,所以不能直接使⽤⾮对称加密来传输请求数据,所以可以通过⾮对称加密的⽅式来传输对称加密的秘钥,之后就可以使⽤对称加密来传输请求数据了
  3. 但是仅仅通过⾮对称加密+对称加密还不⾜以能保证数据传输的绝对安全,因为服务端向客户端发送公钥时,可能会被截取
  4. 所以为了安全的传输公钥,需要⽤到数字证书,数字证书是具有公信⼒、⼤家都认可的,服务端向客户端发送公钥时,可以把公钥和服务端相关信息通过Hash算法⽣成消息摘要,再通过数字证书提供的私钥对消息摘要进⾏加密⽣成数字签名,在把没进⾏Hash算法之前的信息和数字签名⼀起形成数字证书,最后把数字证书发送给客户端,客户端收到数字证书后,就会通过数字证书提供的公钥来解密数字证书,从⽽得到⾮对称加密要⽤到的公钥
  5. 在这个过程中,就算有中间⼈拦截到服务端发出来的数字证书,虽然它可以解密得到⾮对称加密要使⽤的公钥,但是中间⼈是办法伪造数字证书发给客户端的,因为客户端上内嵌的数字证书是全球具有公信⼒的,某个⽹站如果要⽀持https,都是需要申请数字证书的私钥的,中间⼈如果要⽣成能被客户端解析的数字证书,也是要申请私钥的,所以是⽐较安全了。
    客户但与服务端建立https连接的具体过程如下图所示:
    需要注意的是服务端发送给客户端服务器证书,就相当于发送给客户端服务器的公钥,客户端可以用公钥再加密自己生成的会话密钥和非对称公钥发送给服务端。
    在这里插入图片描述

二、HTTP与HTTP的区别

HTTP代表“超文本传输”协议,它是一种用于在网络上传输网页、图片和其他资源的协议。当你在浏览器中输入一个网址或者点击一个链接时,你的计算机会向服务器发送一个HTTP请求,然后服务器会回复一个HTTP响应,将网页内容发送给你的浏览器,然后浏览器会把这些内容呈现出来。
然而虽然HTTP在传输数据时非常快捷,但它的安全性相对较低。这就是为什么有了HTTPS协议,它代表“超文本安全传输协议”。它是通过使⽤对称加密、⾮对称加密、数字证书等⽅式来保证数据的安全传输。
因此,总结一下:
● HTTP是一种用于在网络上传输数据的协议,但不够安全。
● HTTPS在HTTP的基础上加入了安全性,通过加密数据来保护你的隐私和安全。
● HTTPS需要SSL证书来验证网站身份,确保你正在与正确的网站通信。

综上所述,HTTPS是一种更加安全的协议,适用于涉及敏感信息和隐私保护的网站和在线交流。

三、当你在浏览器输入网址并点击,之后会使用到哪些网络协议

在浏览器中输入网址并点击后,涉及到的计算机网络协议主要包括以下几个:

DNS(Domain Name System):您输入的网址首先会被解析成相应的IP地址。DNS协议负责将域名解析为IP地址,使您的计算机能够找到正确的服务器。

HTTP(Hypertext Transfer Protocol)/HTTPS(HTTP Secure):一旦浏览器获得了服务器的IP地址,它会向该IP地址发送HTTP或HTTPS请求。HTTP是一种用于在网络上传输超文本数据的应用层协议,而HTTPS是HTTP的安全版本,通过加密通信内容来确保安全传输。

TCP(Transmission Control Protocol):HTTP/HTTPS协议是建立在TCP之上的。TCP协议负责在客户端和服务器之间建立可靠的连接,并确保数据的可靠传输。它提供了流量控制、拥塞控制等功能。

IP(Internet Protocol):IP协议负责在网络上寻址和路由,将数据包从源主机传输到目标主机。它定义了数据包的格式和传输规则。

TLS/SSL(Transport Layer Security/Secure Sockets Layer):如果您访问的是HTTPS网站,那么在HTTP之上会使用TLS/SSL协议进行加密通信,确保数据的机密性和完整性。

这些协议共同组成了互联网通信的基础,使您能够通过浏览器访问网站并获取所需的信息。在请求和响应过程中,还会涉及到其他一些协议和技术,如ARP(Address Resolution Protocol)用于解析IP地址到MAC地址、HTTP/2、WebSocket等。

思考:有了ip地址为什么还需要MAC地址?
这是因为ip地址是在网络层使用的,用于实现网络间的通信和路由,而MAC地址是在数据链路层使用的,用于实现局域网内部的寻址和数据传输。

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

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

相关文章

网络网络层之(2)ARP协议

网络网络层之(2)ARP协议 Author:Once Day Date: 2024年4月1日 漫漫长路,有人对你笑过嘛… 全系列文档可参考专栏:通信网络技术_Once-Day的博客-CSDN博客。 参考文档: 《TCP/IP详解卷一》arp(8) - Linux manual page (man7.org)彻底搞懂系…

配置香橙派摄像头服务每次开机自动启动

目录 1.创建一个mjpg.sh脚本 2.在脚本中添加以下内容 3.增加可执行权限 4.在/etc/xdg/autostart/下创建mjpg.desktop 文件输入以下内容 1.创建一个mjpg.sh脚本 touch mjpg.sh 2.在脚本中添加以下内容 #!/bin/bash cd /home/orangepi/Myorangepi/zhinenglajitong/mjpg-stre…

分布式幂等性

1. 什么是幂等性? 幂等性是指在分布式系统中,一个操作多次执行的结果与其执行一次的结果相同。设计具有幂等性的分布式系统可以有效避免数据不一致和重复处理的问题。 幂等系统的应用场景 在微服务架构下,由于分布式天然特性的时序问题, 以…

解决动态规划问题

文章目录 动态规划的定义动态规划的核心思想青蛙跳阶问题解法一:暴力递归解法二:带备忘录的递归解法(自顶向下)解法三:动态规划(自底向上) 动态规划的解题套路什么样的问题考虑使用动态规划&…

英语新概念2-回译法-lesson6

我刚刚搬家去柏林大街的房子里。昨天一个流浪汉敲我的门,他想我寻求一顿饭和一杯啤酒。未拒绝了这个请求之后,这个流浪汉倒立着唱歌,我给他了一顿饭,他吃了食物并且喝了啤酒,然后他把一片奶酪放到他的口袋里然后走开了。过了一会儿,一个领居告诉我关于这个流浪汉的事情。…

GAN:对抗生成网络【通俗易懂】

一、概述 对抗生成网络(GAN)是一种深度学习模型,由两个神经网络组成:生成器G和判别器D。这两个网络被训练来协同工作,以生成接近真实数据的新样本。 生成器的任务是接收一个随机噪声向量,并将其转换为与真…

java数据结构与算法刷题-----LeetCode371. 两整数之和

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 位运算 位运算 解题思路:时间复杂度O( l o g 2 m a …

网络篇09 | 运输层 udp

网络篇09 | 运输层 udp 01 简介UDP 是面向报文的 02 报文协议 01 简介 UDP 只在 IP 的数据报服务之上增加了一些功能:复用和分用、差错检测 UDP 的主要特点:无连接。发送数据之前不需要建立连接。 使用尽最大努力交付。即不保证可靠交付。 面向报文。…

C# dynamic 数据类型

在C#中,dynamic是一种数据类型,它允许在运行时推迟类型检查和绑定。使用dynamic类型,可以编写更具灵活性的代码,因为它允许在编译时不指定变量的类型,而是在运行时根据实际情况进行解析。 dynamic类型的变量可以存储任…

Oracle 19c RAC 补丁升级 补丁回退

补丁升级流程 补丁升级 停止集群备份家目录 两节点分别操作 cd /u01/app/19.3.0/grid/bin/ crsctl stop crs tar -zcvf /u01/app.tar.gz /u01/app /u01/app/19.0.0/grid/bin/crsctl start crs 两节点OPatch替换 --- 表示 root 用户,$ 表示 Oracle 用户提示符&#…

list 简化版模拟实现

1ListNode template<class T>struct ListNode{public:ListNode(const T& x T()):_next(nullptr), _prev(nullptr), _data(x){}//private://共有可访问ListNode<T>* _next;ListNode<T>* _prev;T _data;}; 实现iterator对Node*的封装 实现运算符重载 vo…

双向链表的实现(详解)

目录 前言初始化双向链表的结构为双向链表的节点开辟空间头插尾插打印链表尾删头删查找指定位置之后的插入删除pos节点销毁双向链表 前言 链表的分类&#xff1a; 带头 不带头 单向 双向 循环 不循环 一共有 (2 * 2 * 2) 种链表 带头指的是&#xff1a;带有哨兵位节点 哨兵位&a…

基于SignalR视频聊天 一

环境 VS2022 WIN10 .NET8 VSCode VUE SignalR 1.安装SignalR客户端库 需要在Vue.js项目中安装SignalR客户端库。可以使用npm或者yarn来安装 npm install microsoft/signalr2.创建SignalR服务 创建SignalR服务&#xff0c;以便客户端&#xff08;Vue.js应用&#xff09;能…

Java实现短信发送并校验,华为云短信配合Redis实现发送与校验

Java实现短信发送并校验&#xff0c;华为云短信配合Redis实现发送与校验 安装sms4j和redis <dependency><groupId>org.dromara.sms4j</groupId><artifactId>sms4j-spring-boot-starter</artifactId><version>3.2.1</version> <…

每日算法之矩阵置零

题目描述 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]] 示例 2&#xff1a; 输入&#x…

访问者模式类图与代码

某图书管理系统中管理着两种类型的文献&#xff1a;图书和论文。现在要求统计所有馆藏文献的总页码(假设图书馆中有一本540页的图书和两篇各25页的论文&#xff0c;那么馆藏文献的总页码就是590页)。采用Visitor(访问者)模式实现该要求&#xff0c;得到如图7.16所示的类图。 访…

JavaScript知识点 --javaweb学习笔记

什么是Javascript? JavaScript(简称:JS)是一门跨平台、面向对象的脚本语言。是用来控制网页行为的&#xff0c;它能使网页可交互JavaScript 和Java 是完全不同的语言&#xff0c;不论是概念还是设计。但是基础语法类似JavaScript在1995 年由 Brendan Eich 发明&#xff0c;并…

Go微服务: 链路追踪jaeger原理和环境搭建

微服务中链路追踪作用 1 ) 概述 著名的管理学大师彼得德鲁克曾说过“If you can’t measure it, you can’t improve it”意思是&#xff1a;如果你不能度量它&#xff0c;你就无法改进它在微服务开发后期&#xff0c;服务会越来越多&#xff0c;调用链过多&#xff0c;进行链…

简历上写熟悉Linux下常用命令?直接寄

大家写简历技术栈时&#xff0c;都觉得越多越好&#xff0c;其中一条&#xff0c;熟悉Linux下常用命令&#xff1f;其实开发中Linux不是必备考点&#xff0c;除了运维&#xff0c;真正用的多的仅仅cd ls mkdir等&#xff0c;但当面试官问到上面命令时&#xff0c;是不是就傻眼了…

Java开发从入门到精通(二十):Java的面向对象编程OOP:Stream流

Java大数据开发和安全开发 &#xff08;一&#xff09;Java的新特性&#xff1a;Stream流1.1 什么是Stream?1.2 Stream流的使用步骤1.3 获取Stream流1.4 Stream流常见的中间方法1.5 Stream流常见的终结方法 &#xff08;一&#xff09;Java的新特性&#xff1a;Stream流 1.1 …