面试计算机网络框架八股文十问十答第四期

面试计算机网络框架八股文十问十答第四期

作者:程序员小白条,个人博客

相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新!

⭐点赞⭐收藏⭐不迷路!⭐

1)当在浏览器中输入 Google.com 并且按下回车之后发生了什么?

当在浏览器中输入Google.com并按下回车后,浏览器将发起一个HTTP请求到Google的服务器,请求Google的首页内容。Google的服务器会处理这个请求,返回HTML、CSS、JavaScript等资源给客户端浏览器。浏览器接收到这些资源后,会解析HTML文档,加载和渲染页面内容,执行JavaScript代码,最终呈现出Google的首页在浏览器窗口中。

2)对keep-alive的理解

keep-alive是HTTP头部中的一种指令,用于告诉服务器保持连接处于打开状态,以便在之后的请求中复用相同的连接,从而提高性能。通过keep-alive,客户端浏览器可以在同一TCP连接上发送多个HTTP请求和接收多个HTTP响应,避免频繁地建立和关闭连接,减少网络延迟和资源消耗。

3)页面有多张图片,HTTP是怎样的加载表现?

当页面中有多张图片时,浏览器会根据HTML文档中的标签来发起HTTP请求获取图片资源。浏览器会同时发起多个HTTP请求,但是由于浏览器对同一域名的并发请求有限制,通常为6-8个,并非所有图片都能立即加载。浏览器会根据请求的优先级和当前网络状况来决定图片的加载顺序,并在加载完成后将图片显示在页面上。如果图片资源已经在浏览器缓存中存在,浏览器会直接从缓存中加载图片,而不发起新的HTTP请求。

4)HTTP2的头部压缩算法是怎样的?

HTTP/2使用了HPACK作为头部压缩算法。HPACK采用了基于哈夫曼编码和前缀编码的方式来压缩HTTP报文头部,从而减小传输的数据量。HPACK会维护两个表格:静态表格和动态表格。静态表格包含一组常见的头部字段和对应的值,而动态表格则用于存储当前请求和响应中的头部字段和值。HPACK会根据这两个表格来进行头部压缩和解压缩。

5)HTTP请求报文的是什么样的?

HTTP请求报文包含请求行、请求头部和请求主体三个部分。请求行包含请求方法、请求URL和协议版本,请求头部包含一系列键值对的头部字段,用于传递请求的元数据信息,请求主体可选,用于传递请求的实际数据。

6)HTTP响应报文的是什么样的?

HTTP响应报文包含状态行、响应头部和响应主体三个部分。状态行包含协议版本、状态码和状态信息,响应头部包含一系列键值对的头部字段,用于传递响应的元数据信息,响应主体包含实际的响应数据。

7)HTTP协议的优点和缺点

HTTP协议的优点包括简单、灵活、易于学习和部署,可以跨平台传输数据,支持文本和二进制数据传输。缺点包括传输性能较低,无状态性导致无法保存会话状态,不安全性,易被中间人攻击和劫持,头部信息传输效率低,需要额外的优化和压缩。HTTP/2通过引入多路复用、头部压缩、服务器推送等机制来改进性能和安全性,但仍然存在一些缺点。

8)说一下HTTP 3.0

HTTP/3是基于QUIC协议的新一代HTTP协议,旨在提高网络传输性能和安全性。HTTP/3使用QUIC作为传输协议,QUIC结合了UDP协议和TLS加密,可以减少连接建立和握手的延迟,支持多路复用、0-RTT连接、快速恢复等特性,从而提高网络传输效率和可靠性。HTTP/3通过使用QUIC协议实现了头部压缩、流量控制、拥塞控制等功能,使得网络传输更加高效。

9)HTTP协议的性能怎么样

HTTP协议的性能取决于多个因素,包括网络延迟、带宽、服务器性能、头部大小、连接复用等。传统的HTTP/1.1协议存在串行请求、头部重复传输、连接阻塞等问题,性能较低。HTTP/2引入了多路复用、头部压缩等机制改进了性能,HTTP/3进一步提高了性能和安全性。总体来说,HTTP协议在不断演进和优化中,可以通过使用最新版本的协议和优化手段来提高性能。

10)URL有哪些组成部分

URL(统一资源定位符)由多个部分组成,包括协议、主机、端口、路径、查询字符串和片段。具体组成部分如下:

  • 协议:表示要使用的传输协议,例如HTTP、HTTPS、FTP等。
  • 主机:表示服务器的域名或IP地址,用于指定请求资源的服务器。
  • 端口:表示服务器使用的端口号,默认为80(HTTP)或443(HTTPS)。
  • 路径:表示请求资源在服务器上的路径,用于指定资源的具体位置。
  • 查询字符串:表示向服务器传递的参数,以键值对的形式出现,用于传递额外的信息。
  • 片段:表示页面中的特定位置或锚点,用于跳转到页面内的特定位置。

开源项目地址:https://gitee.com/falle22222n-leaves/vue_-book-manage-system

已 300 + Star!

⭐点赞⭐收藏⭐不迷路!⭐

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

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

相关文章

单片机学习笔记---AT24C02数据存储

目录 AT24C02数据存储 准备工作 代码讲解 I2C.c 模拟起始位置的时序 模拟发送一个字节的时序 模拟接收应答的时序 模拟接收一个字节的时序 模拟发送应答的时序 模拟结束位置的时序 I2C.h AT24C02.c 字节写:在WORD ADDRESS(字地址&#xff…

「Linux」软件安装

MySQL5.7在CentOS安装 安装 配置yum仓库 更新密钥:rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022安装MySQL yum库:rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm使用yum安装MySQL:yum -y in…

WebSocket原理详解

目录 1.引言 1.1.使用HTTP不断轮询 1.2.长轮询 2.websocket 2.1.概述 2.2.websocket建立过程 2.3.抓包分析 2.4.websocket的消息格式 3.使用场景 4.总结 1.引言 平时我们打开网页,比如购物网站某宝。都是点一下列表商品,跳转一下网页就到了商品…

电动汽车上哪些部位用到了电机?

一、背景 电动汽车中除了主驱动电机之外的其他电机的控制复杂度因电机的种类和功能而异。 一般来说,助力转向电机、空调风扇电机、冷却水泵电机等辅助电机的控制相对较为简单。这些电机通常只需要进行简单的开/关控制或速度调节,以满足车辆的基本需求。…

Terraform实战(三)-在AWS上尝试Terraform的Vault Provider

使用自Terraform 0.8起添加的Vault Provider后,aws云基础设施尝试从Vault而不是tfvars或环境变量中读取AWS凭证。 1 什么是vault? vault是一种由Hashicorp发布的用于管理机密信息的工具。 2 aws使用Terraform的Vault Provider 2.1 创建静态密钥 以开…

【实战】一、Jest 前端自动化测试框架基础入门(中) —— 前端要学的测试课 从Jest入门到TDD BDD双实战(二)

文章目录 一、Jest 前端自动化测试框架基础入门5.Jest 中的匹配器toBe 匹配器toEqual匹配器toBeNull匹配器toBeUndefined匹配器和toBeDefined匹配器toBeTruthy匹配器toBeFalsy匹配器数字相关的匹配器字符串相关的匹配器数组相关的匹配器异常情况的匹配器 6.Jest 命令行工具的使…

实验5-2 符号函数

本题要求实现符号函数sign(x)。 函数接口定义: int sign( int x );其中x是用户传入的整型参数。符号函数的定义为:若x大于0,sign(x) 1;若x等于0,sign(x) 0;否则,sign(x) −1。 裁判测试程…

【Langchain Agent研究】SalesGPT项目介绍(三)

【Langchain Agent研究】SalesGPT项目介绍(二)-CSDN博客 上节课,我们介绍了salesGPT项目的初步的整体结构,poetry脚手架工具和里面的run.py。在run.py这个运行文件里,引用的最主要的类就是SalesGPT类,今天我…

C语言系列2——C语言中的运算符与表达式

目录 写在开始1. 算术运算符与表达式2. 关系运算符与逻辑运算符3. 运算符优先级与结合性4. 实例练习题目4.1 题目介绍4.2 参考答案 写在最后 写在开始 在学习C语言编程过程中,理解运算符与表达式是至关重要的基础知识。本文将介绍C语言中的算术、关系和逻辑运算符&…

ARP请求的构造过程

ARP请求的构造过程: ARP请求的构造: 当设备A(发起者)想要与设备B(目标)通信,但它只知道设备B的IP地址(例如,192.168.1.2),而不知道其MAC地址。设备…

算法沉淀——链表(leetcode真题剖析)

算法沉淀——链表 01.两数相加02.两两交换链表中的节点03.重排链表04.合并 K 个升序链表05.K个一组翻转链表 链表常用技巧 1、画图->直观形象、便于理解 2、引入虚拟"头节点" 3、要学会定义辅助节点(比如双向链表的节点插入) 4、快慢双指针…

976.三角形的最大周长(Java)

题目描述: 给定由一些正数(代表长度)组成的数组 nums ,返回 由其中三个长度组成的、面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形,返回 0。 输入: nums [1,2,1,10] 输出&#xff1…

从源码学习访问控制符使用

从源码学习访问控制符使用 Java中的访问控制符 ​ 在Java中,有四个访问控制符:public、protected、default(默认或缺省,不使用关键字)和private。 ​ 它们的访问范围如下: public:公共访问权…

【从零到Offer】MySQL最左匹配

前言 ​ 相信大家在日常开发时,也经常能听到“最左匹配”这个词,那么什么是最左匹配呢?本篇文章就带你一起探索“最左匹配”的神奇秘密。 什么是最左匹配 ​ 最左匹配,通常指的是最左前缀匹配原则,即MySQL在检索数据…

联想thinkpad-E450双系统升级记

早期笔记本联想thinkpad-E450双系统 大约16年花4000多大洋,买了一台thinkpad-E450屏幕是16寸本,有AMD独立显卡,i5cpu,4G内存。 . 后来加了一个同型号4G内存组成双通道, . 加了一个三星固态500G, . 换了一个…

【C++】类的隐式类型转换

文章目录 前言一、隐式类型转换二、explicit关键字总结 前言 一、隐式类型转换 C 类的隐式类型转换是指当一个类定义了适当的构造函数或转换函数时,可以在需要时自动进行类型转换,而无需显式调用转换函数或构造函数。这使得代码更具灵活性和简洁性。下面…

【PyTorch】改变张量(Tensor)形状操作

PyTorch深度学习总结 第二章 PyTorch中改变张量(Tensor)形状操作 文章目录 PyTorch深度学习总结一、前言二、改变张量形状 一、前言 上文讲解了张量生成和信息获取的知识,本文将针对张量的操作进行详细讲解。 二、改变张量形状 1、改变张量形状的函数总结&#x…

备战蓝桥杯---动态规划(入门2)

今天主要介绍区间dp比较难的题: 下面是分析: 我们如果先固定点V0,那我们得去枚举两个点使它构成三角形,同时求目标值也比较难确定(起始与终止都带0),于是我们考虑固定边,我们固定v0…

简单数学问题之素数的判断及获取

1.素数的判断 #include <iostream> using namespace std; bool isPrime(int n){if(n<1) return false;//大于1的for(int i2;i*i<n;i)if(n%i0) return false;//只能被1及本身整除的数return true; } int main(){int num;cin>>num;if(isPrime(num))cout<&l…

DS18B20 与 单总线

学习链接&#xff1a;学习B站 up 主金善愚的DS18B20课程 一、单总线概述 单总线芯片&#xff0c;在其内部的 ROM 中都编制好了唯一的序列号&#xff08;64位&#xff09;。 单总线芯片在应用时对时序的要求非常高。 二、单总线的基本操作 三、DS18B20的主要性能 电源电压范围&…