前端大厂面试题探索编辑部——第二期

news2024/11/24 16:48:56

目录

题目

单选题1

题解

关于TCP

关于UDP

单选题2

题解

A选项的HTTP是否是无状态协议

B选项的HTTP支持的方法

C选项的关于HTTP的状态码

D选项HTTP协议的传输格式


题目

单选题1

1.以下哪个描述是关于 TCP 和 UDP 的区别()

A. TCP 是无连接的,而 UDP 是面向连接的

B. TCP 和 UDP 都不提供数据包排序功能

C. TCP 提供数据包排序功能,而 UDP 不提供

D. TCP 和 UDP 都是无连接的

题解

       正确答案选择C,下面我会细致讲解,拆解这里提到的TCP,UDP,等各种概念,有细节也有适用于面试的记忆点。读者在仔细阅读我下面的讲解后,并关注好加粗部分,自然回来再看题,就能知道每个选项是为什么了。

关于TCP

       TCP,全称为Transmission Control Protocol,是一种面向连接的,可靠的,基于字节流的传输层通信协议,这意味着在数据包开始传输之前,它需要在发送方和接收方之间建立连接,所以显然TCP是有连接的。一旦连接建立,数据就可以在两个点之间双向传输。这里提到了一个概念,数据包,指的是封装在固定结构,比如帧的一系列字节或者负载。数据包的概念需要不断有应用场景去理解,这对我们未来更深入理解网络性能有帮助。

       TCP提供了数据包排序功能,这能保证数据包按照发送的顺序到达接收端,这是TCP的一个关键特性。

关于UDP

       UDP,全称为User Datagram Protocol,即用户数据包协议,是一种简单的面向数据包的通信协议UDP是无连接的协议,它不在通信双方之间建立固定的连接,而是直接发送数据包。UDP不提供错误检查和修正功能,因此他的传输速度通常比TCP快。

TCPDCP
是否面向连接×
传输速度较慢较快
是否提供数据包排序×
错误检查和修正功能×

单选题2

2.关于HTTP协议,以下哪个选项是不正确的()

A. HTTP是无状态的协议,即服务器不会保存用户的任何数据。

B. HTTP协议支持GET、POST、PUT、DELETE等多种请求方法。

C. HTTP响应状态码200表示请求成功,404表示请求的资源未找到。

D. HTTP协议中,客户端发送的请求消息和服务器返回的响应消息都是以二进制格式传输的。

题解

       正确答案选择D

A选项的HTTP是否是无状态协议

       HTTP是无状态的协议,意思就是服务器默认不会保存用户的任何数据,这么做是为了简化服务器的设计,使其更容易支持大量并发连接。每个请求都是独立的,服务器不会从一个请求中保留信息到下一个请求。

       不过同时呢,我们未来实现会话管理、个性化设置、购物车等功能,通常会在比如服务器端的数据库或者客户端的cookie这些地方,保存一下状态信息。

B选项的HTTP支持的方法

       HTTP协议中,是支持比如GET、POST、PUT和DELETE等方法的,相对应的,我们用来完成获取资源、提交数据、更新资源和删除资源的功能。

C选项的关于HTTP的状态码

       状态码有固定的格式,所有HTTP响应的第一行都是状态行,依次是当前HTTP版本号,3位数字组成的状态代码,以及描述状态的短语,彼此由空格分隔。状态代码的第一个数字代表当前响应的类型:

  • 1xx消息——请求已被服务器接收,继续处理

  • 2xx成功——请求已成功被服务器接收、理解、并接受

  • 3xx重定向——需要后续操作才能完成这一请求

  • 4xx请求错误——请求含有词法错误或者无法被执行

  • 5xx服务器错误——服务器在处理某个正确请求时发生错误

       虽然RFC2616中,已经推荐了描述状态的短语,例如"200 OK","404 Not Found",但是WEB开发者仍然能够自行决定采用何种短语,用以显示本地化的状态描述或者自定义信息。

D选项HTTP协议的传输格式

       客户端发送的请求消息和服务器返回的响应消息都是以文本格式传输的,而不是二进制格式。虽然HTTP消息的主体可以包含非文本数据,但消息的起始行、头部等都是文本。常见的文本格式,比如TXT、HTML,而二进制格式,比如图像文件的JPG和PNG,音频文件的MP3和WAV。

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

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

相关文章

大创项目推荐 题目:基于python的验证码识别 - 机器视觉 验证码识别

文章目录 0 前言1 项目简介2 验证码识别步骤2.1 灰度处理&二值化2.2 去除边框2.3 图像降噪2.4 字符切割2.5 识别 3 基于tensorflow的验证码识别3.1 数据集3.2 基于tf的神经网络训练代码 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基于pyt…

Deeplearning

Numpy Deep Learning Basic 神经网络: #mermaid-svg-2N27H7C0XPrmd8HP {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-2N27H7C0XPrmd8HP .error-icon{fill:#552222;}#mermaid-svg-2N27H7C0XPrmd8HP .…

【RTP】webrtc 学习2: webrtc对h264的rtp打包

切片只是拷贝帧的split的各个部分到新的rtp 包的封装中。并没有在rtp包本身标记是否为关键帧FU-A 切片 输入的H.264 数据进行split :SplitNalu SplitNalu : 按照最大1200字节进行切分 切分后会返回一个数组 对于FU-A :split的数据总大小是 去掉一个字节的nalu header size …

Linux系统——点菜名

Linux系统可以点菜啦! [rootlocalhost ~]#vim menu1.sh #!/bin/bash sum0 PS3"请输入(1-6):" MENU" 宫保鸡丁 酸菜鱼 鱼香肉丝 佛跳墙 水煮肉片 点菜结束 "select menu in $MENU do case $REPLY in 1) echo $menu 价格是20 let sum20 ;; 2) ec…

spacy分词工具下载指南

分享一下spacy分词工具的下载流程,直接在命令行下载速度慢而且一般都成功不了,所以需要像nltk工具一样离线下载,这里记录一下流程。让有需要的同学少走一些坑。 一、下载spacy 这里下载记得使用国内源哟,速度会快很多&#xff0c…

微信小程序(十九)组件通信(子传父)

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.定义触发事件向父组件传输数据 2.父组件绑定绑定触发事件并获取数据 源码&#xff1a; myNav.wxml <view class"navigationBar custom-class" style"padding-top: {{test}}px;">&l…

Elasticsearch安装Head图形插件

一、Google浏览器扩展插件方式 1.安装插件 进入谷歌浏览器应用商店搜索“Elasticsearch Head”,点击链接跳转 点击“添加至Chrome”按钮安装即可。 2.使用插件 在浏览器的插件列表多了个一个放大镜图标 点击“New”新建链接,输入es节点或集群地址。 连接成功 可以进行概括…

LLM之llm-viz:llm-viz(3D可视化GPT风格LLM)的简介、安装和使用方法、案例应用之详细攻略

LLM之llm-viz&#xff1a;llm-viz(3D可视化GPT风格LLM)的简介、安装和使用方法、案例应用之详细攻略 目录 llm-viz的简介 1、LLM可视化 2、CPU模拟&#xff08;WIP&#xff1b;尚未公开&#xff01;&#xff09; llm-viz的安装和使用方法 llm-viz的案例应用 1、三维可视化…

Asp.Net Core 获取应用程序相关目录

在ASP.NET Core中&#xff0c;可以通过以下三种方式获取应用程序所在目录&#xff1a; 1、使用AppContext.BaseDirectory属性&#xff1a; string appDirectory AppContext.BaseDirectory; 例如&#xff1a;D:\后端项目\testCore\test.WebApi\bin\Debug\net6.0\ 2、使用…

公司内网虚拟机中穿透服务器Coturn的搭建

1. 写在前面 coturn服务器的搭建文章已经非常多&#xff0c;但是对于对linux不熟悉的人来说排查错误的文章不多&#xff0c;此篇文章把我这次搭建过程以及如何排查问题做一个梳理我这里是在oracle vm虚拟机中搭建安装的ubuntu&#xff0c;通过H3C路由器映射到外网以下介绍我只…

跟着cherno手搓游戏引擎【9】glm配置

glm配置&#xff1a; 下载glm数学库 GitHub - g-truc/glm: OpenGL Mathematics (GLM) 修改SRC 下的premake5.lua文件&#xff1a; workspace "YOTOEngine" -- sln文件名architecture "x64" configurations{"Debug","Release",&quo…

【探索科技 感知未来】文心一言大模型

【探索科技 感知未来】文心大模型 &#x1f6a9;本文介绍 文心一言大模型是由中国科技巨头百度公司研发的一款大规模语言模型&#xff0c;其基于先进的深度学习技术和海量数据训练而成。这款大模型具备强大的自然语言处理能力&#xff0c;可以理解并生成自然语言&#xff0c;为…

C#读取一个百万条数据的文件,同时批量一次性导入sqlitedb,需要花费多长时间

读取的代码&#xff1a; public void CSV2DataTableTest(string fileName){FileStream fs new FileStream(fileName, FileMode.Open, FileAccess.Read);StreamReader sr new StreamReader(fs, new UnicodeEncoding());//记录每次读取的一行记录string strLine "";…

Self-Attention 和 Multi-Head Attention 的区别——附最通俗理解!!

文章目录 前言 一、简要介绍 二、工作流程 三、两者对比 四、通俗理解 前言 随着Transformer模型的迅速普及&#xff0c;Self-Attention&#xff08;自注意力机制&#xff09;和Multi-Head Attention&#xff08;多头注意力机制&#xff09;成为了自然语言处理&#xff08;NLP…

使用一个定时器(timer_fd)管理多个定时事件

使用一个定时器(timer_fd)管理多个定时事件 使用 timerfd_xxx 系列函数可以很方便的与 select、poll、epoll 等IO复用函数相结合&#xff0c;实现基于事件的定时器功能。大体上有两种实现思路&#xff1a; 为每个定时事件创建一个 timer_fd&#xff0c;绑定对应的定时回调函数…

###C语言程序设计-----C语言学习(4)#

前言&#xff1a;感谢老铁的浏览&#xff0c;希望老铁可以一键三连加个关注&#xff0c;您的支持和鼓励是我前进的动力&#xff0c;后续会分享更多学习编程的内容。现在开始今天的内容&#xff1a; 一. 主干知识的学习 1.字符型数据 &#xff08;1&#xff09;字符型常量 字…

腐蚀及膨胀的python实现——数字图像处理

原理 像处理中的腐蚀和膨胀是形态学操作的两个基本概念&#xff0c;它们广泛应用于图像预处理、特征提取和其他图像分析任务。 腐蚀&#xff08;Erosion&#xff09; 腐蚀操作可以看作是图像中形状的"收缩"。其基本原理是使用一个结构元素&#xff08;通常是一个小…

IS-IS:10 ISIS路由渗透

ISIS的非骨干区域&#xff0c;无明细路由&#xff0c;容易导致次优路径问题。可以引入明细路由。 在IS-IS 网络中&#xff0c;所有的 level-2 和 level-1-2 路由器构成了一个连续的骨干区域。 level-1区域必须且只能与骨干区域相连&#xff0c;不同 level-1 区域之间不能直接…

Nginx进阶篇【三】

Nginx进阶篇【三】 四、Rewrite功能配置【ngx_http_rewrite_module模块】4.1."地址重写"与"地址转发"4.2.Rewrite的相关命令4.3.Rewrite的应用场景4.4.Rewrite的相关指令介绍4.4.1. set指令4.4.2. Rewrite常用全局变量4.4.3. if 指令4.4.4. break指令4.4.5…

AI大模型开发架构设计(6)——AIGC时代,如何求职、转型与选择?

文章目录 AIGC时代&#xff0c;如何求职、转型与选择&#xff1f;1 新职场&#xff0c;普通人最值钱的能力是什么?2 新职场成长的3点建议第1点&#xff1a;目标感第2点&#xff1a;执行力第3点&#xff1a;高效生产力 3 新职场会产生哪些新岗位机会?如何借势?4 新职场普通人…