当前位置: 首页 > news >正文

计算机网络面试题总结

总结自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都是用来在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 如何保证传输的可靠性?

http://www.lryc.cn/news/275908.html

相关文章:

  • 视频转为序列图的软件,让视频批量转为序列图
  • 目标检测中的常见指标
  • QT上位机开发(会员充值软件)
  • 小程序实现绘制图片 保存到手机
  • Elasticsearch基本操作之索引操作
  • 调用Java线程相关的API为什么能够控制操作系统线程?
  • 【办公技巧】excel中设置选项按钮的方法
  • 如何编写高效的正则表达式?
  • vue3中使用pinia,更改state中数据,试图不更新问题
  • 【前端设计】文字聚光灯
  • 从零开始搭建企业级前端项目模板(vue3+vite+ts)
  • ElasticSearch的DSL查询语法解析
  • Linux 常用基础命令(2024年最新篇)新手小白必看 初识Linux
  • Golang中for和for range语句的使用技巧、对比及常见的避坑
  • Nestjs 微服务实战 - 动态微服务创建链接
  • K8S部署pod状态CreateContainerConfigError问题解决
  • PyTorch 简单易懂的实现 CosineSimilarity 和 PairwiseDistance - 距离度量的操作
  • app加载不到aar中的so库
  • vue-springboot基于java的实验室安全考试系统
  • mysql+关掉密码过期
  • 实际项目中的环形缓冲区
  • 输出回文数-第11届蓝桥杯选拔赛Python真题精选
  • 内存溢出会导致模块测试正常,植入系统失败
  • 【taro react】 ---- QRCode 二维码生成
  • rk3566 armbian修复usb2.0并挂载U盘
  • 猫头虎博主第9期赠书活动:《YOLO目标检测》计算机AI视觉实战YOLO人工智能目标检测与跟踪图像处理深度学习图像检测书籍
  • python 如何将英语单词翻译成中文
  • Linux_CentOS_7.9_MySQL_5.7配置数据库服务开机自启动之简易记录
  • js实现拖动盒子查看内容 内容拖动
  • [C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测