【面试系列】计算机网络常见面试题(一)(1)

简介: 【面试系列】计算机网络常见面试题(一)(1)

一、TCP和UDP的区别?

💐

👨‍💻面试官:

TCP和UDP的区别是什么?

🙋‍♂️小宝:

两者协议都是属于运输层协议,他们之间的区别包括:

  • TCP是面向连接的,UDP是无连接的。
  • TCP是可靠的,UDP是不可靠的。
  • TCP是面向字节流的,UDP是面向报文的。
  • TCP支持对点通信,UDP支持一对一、一对多、多对多的通信模式;
  • TCP有拥塞控制机制,UDP没有拥塞控制机制其适合媒体通信。
  • TCP首部开销(20个字节)UDP(8个)的首个开销时间大;

二、是什么是HTTP?并详细介绍!

💐

👨‍💻面试官: 是什么HTTP?我想听听你的详细介绍!

🙋‍♂️小宝:

HTTP: 是超文本传输协议,也就是HyperText Transfer Protocol。

首先我们先对这三个单词进行逐一分析:

  • HyperText:超文本。
  • Transfer:转移、运输。
  • Protocol:协议。
  • 文本是什么?

一般我们认为txt文件就是一个文本文件对吧。

超文本呢?

我们能通过字面意思理解超越普通文本的文件

在电脑和互联网上面有哪些是超过普通文本的文件的?我们肯定都能知道的有音频、视频、图片等一些不是那么普通的文字文件!

运输是什么呢?

在一般正常的生活中我们经常会通过各种运输工具来进行对我们网购的快递进行运输。

而在互联网就是一个信息等的运输。

例如我们在上网时,A客户端需要对B服务器进行一个请求,然后B得到请求后B服务器会做相应的应答,把一些我们请求的资源发送给客户端A,则A能够在浏览器上面查看到自己想要的资源!

image.png

协议又是什么呢?

我们还是通过生活中的例子来举例。比如我们在生活中租房、工作等都是需要和他人签订一个合同—也就是说我们正常的协议

而在互联网上,如果我们需要上网则也是需要遵守一定的互联网协议才能上网冲浪!而HTTP是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范(两个以上的参与者),以及相关的各种控制和错误处理方式。

好了,经过上面的介绍我们就已经可以大概的理解了超文本传输协议的具体意义—HTTP是一个在计算机世界里面专门在两点之间传输文字。音频。视频。图片等超文本数据的约定和规范!

三、HTTP常见的状态码

💐

👨‍💻面试官: 请你说说HTTP中比较常见的状态码吧

🙋‍♂️小宝:在HTTP中的状态码可以分为5种:

  • 1xx:提示信息,表示目前协议处理的中间状态,还需要后续的操作;
  • 2xx:是经常遇见的一种状态码,则表示请求成功,报文已经收到并正确的处理。
    状态码有:
  • 200:表示请求成功!
  • 204:同上。但是响应头没有body数据。
  • 206:返回部分body数据。
  • 3xx:表示请求的重定向,资源位置发生变动,需要客户端重新发送请求;

状态码有

  • 301:永久的重定向,需要访问新的URL
  • 302:临时重定向。
  • 304:缓存重定向。
  • 4xx:也是在写项目种比较常见的一种状态码。大体表示客户端错误,请求报文错误,服务器无法处理。则404就是最常见的服务器找不到资源。

状态码有

  • 400:表示客户端请求的报文有错误。
  • 403:表示服务器禁止访问资源,并不是客户端的错误。
  • 404:服务器找不到资源。
  • 5xx:一般表示服务器发生错误,服务器在处理请求时内部发生了错误。

状态码有:

  • 500:只是有一个大概的错误。
  • 501:网页还没正式公开。
  • 502:后端服务器出现问题。
  • 503:网络繁忙。
  • 四、HTTP常见的字段有哪些?

四、HTTP常见的字段有哪些?

💐

👨‍💻面试官: 看你上面的这么熟练,咱们来聊聊http常见的字段吧!

🙋‍♂️小宝:好的面试官。

首先最常见的字段Host:是客户端发送请求时,用来指定服务器的域名的。当有了Host字段后我们能访问同一台服务器的不同网站。而不会去随机访问其他的服务器。

通过一个例子:我们在一个100人的班级里,我们需要找到一个不认识的人。我们可以通过其名字来找到该人。

例如:需要找一个姓名为:小宝的同学,我们只需要在班级里喊一声小宝后就会得到本人的答复。

姓名:Host,小宝:网站名称

image.png

还有Content-Length字段

服务器在返回时,会有Content-Length字段,表明本次回应的数据长度。

例如: Content-Length : 1000;

则表示服务器返回数据长度时1000个字节

💐

👨‍💻面试官: 还有吗?

🙋‍♂️小宝:还有的面试官!

还有Connection字段。一般Connection字段用于客户端对服务器使用TCP持久链接,以便其他请求的复用。在HTTP/1.1版本的默认连接都是持久连接,但是为了兼容老版本的HTTP,需要指定Connection首部字段的值为Keep-Alive。


例如:Connection:keep-Alive,这样一个复用的TCP连接就建立了,直到客户端或服务器主动关闭连接。

Connent-Type字段

在请求中 (如POST 或 PUT),Content-Type字段用于客户端告诉服务器实际发送的数据类型

格式

Content-Type:type/subtype ;parameter

type:主类型,任意的字符串,如text,如果是号代表所有;

subtype:子类型,任意的字符串,如html,如果是*号代表所有,用“/”与主类型隔开;

parameter:可选参数,如charset,boundary等。

例如:

Content-Type: text/html;

Content-Type: application/json;charset:utf-8;

Connect-Encoding字段

则表示服务器返回的数据解压方式。

一般客户端会使用Accept-Encoding来告诉服务器自己能接收的压缩数据格式。

相关文章
|
3月前
|
算法 Java 调度
《面试专题-----经典高频面试题收集四》解锁 Java 面试的关键:深度解析并发编程进阶篇高频经典面试题(第四篇)
《面试专题-----经典高频面试题收集四》解锁 Java 面试的关键:深度解析并发编程进阶篇高频经典面试题(第四篇)
61 0
|
1月前
|
缓存 网络协议 算法
这些年背过的面试题——网络和操作系统基础篇
本文是技术人面试系列网络和操作系统基础篇,面试中关于网络和操作系统基础都需要了解哪些内容?一文带你详细了解,欢迎收藏!
|
1月前
|
网络协议 网络架构
OSPF邻居关系建立失败?揭秘网络工程师面试中最常见的难题,这些关键步骤你掌握了吗?网络配置的陷阱就在这里!
【8月更文挑战第19天】OSPF是网络工程中确保数据高效传输的关键协议。但常遇难题:路由器间无法建立OSPF邻居关系,影响网络稳定并成为面试热点。解决此问题需检查网络连通性(如使用`ping`),确认OSPF区域配置一致(通过`show running-config`),校准Hello与Dead计时器(配置`hello`和`dead`命令),及核查IP地址和子网掩码正确无误(使用`ip address`)。系统排查上述因素可确保OSPF稳定运行。
55 2
|
1月前
|
机器学习/深度学习
【机器学习】面试题:LSTM长短期记忆网络的理解?LSTM是怎么解决梯度消失的问题的?还有哪些其它的解决梯度消失或梯度爆炸的方法?
长短时记忆网络(LSTM)的基本概念、解决梯度消失问题的机制,以及介绍了包括梯度裁剪、改变激活函数、残差结构和Batch Normalization在内的其他方法来解决梯度消失或梯度爆炸问题。
47 2
|
3月前
|
缓存 网络协议 安全
Android网络面试题之Http基础和Http1.0的特点
**HTTP基础:GET和POST关键差异在于参数传递方式(GET在URL,POST在请求体),安全性(POST更安全),数据大小限制(POST无限制,GET有限制),速度(GET较快)及用途(GET用于获取,POST用于提交)。面试中常强调POST的安全性、数据量、数据类型支持及速度。HTTP 1.0引入了POST和HEAD方法,支持多种数据格式和缓存,但每个请求需新建TCP连接。**
40 5
|
3月前
|
安全 网络协议 算法
Android网络基础面试题之HTTPS的工作流程和原理
HTTPS简述 HTTPS基于TCP 443端口,通过CA证书确保服务器身份,使用DH算法协商对称密钥进行加密通信。流程包括TCP握手、证书验证(公钥解密,哈希对比)和数据加密传输(随机数加密,预主密钥,对称加密)。特点是安全但慢,易受特定攻击,且依赖可信的CA。每次请求可能复用Session ID以减少握手。
48 2
|
3月前
|
缓存 网络协议 Android开发
Android网络面试题之Http1.1和Http2.0
HTTP/1.1 引入持久连接和管道机制提升效率,支持分块传输编码和更多请求方式如PUT、PATCH。Host字段指定服务器域名,RANGE用于断点续传。HTTP/2变为二进制协议,实现多工处理,头信息压缩和服务器推送,减少延迟并优化资源加载。HTTP不断发展,从早期的简单传输到后来的高效交互。
44 0
Android网络面试题之Http1.1和Http2.0
|
3月前
|
存储 设计模式 Java
java实习生面试题_java基础面试_java面试题2018及答案_java面试题库
java实习生面试题_java基础面试_java面试题2018及答案_java面试题库
|
2月前
|
存储 安全 Java
Java面试题:Java内存管理、多线程与并发框架:一道综合性面试题的深度解析,描述Java内存模型,并解释如何在应用中优化内存使用,阐述Java多线程的创建和管理方式,并讨论线程安全问题
Java面试题:Java内存管理、多线程与并发框架:一道综合性面试题的深度解析,描述Java内存模型,并解释如何在应用中优化内存使用,阐述Java多线程的创建和管理方式,并讨论线程安全问题
24 0
|
2月前
|
存储 并行计算 安全
Java面试题:Java内存管理、多线程与并发框架的面试题解析与知识点梳理,深入Java内存模型与垃圾回收机制,Java多线程机制与线程安全,Java并发工具包与框架的应用
Java面试题:Java内存管理、多线程与并发框架的面试题解析与知识点梳理,深入Java内存模型与垃圾回收机制,Java多线程机制与线程安全,Java并发工具包与框架的应用
51 0