• 计算机网络的常见面试题


    GET 和 POST 的区别

    • 作用
      GET用来获取资源,POST用于传输实体主体

    • 参数位置
      GET的参数放在URL中,POST的参数存储在实体主体中,并且GET方法提交的请求的URL中的数据多是2048字节,POST请求没有大小限制

    • 安全性
      GET方法因为参数放在URL中,安全性相对于POST较差一些

    • 幂等性

    GET方法是具有幂等性的,而POST方法不具有幂等性。这里幂等性指客户端连续发出多次请求,收到的结果都是一样的.

    什么是网络协议,为什么要对网络协议分层

    网络协议是计算机在通信过程中要遵循的一些约定好的规则

    网络分层的原因

    • 易于实现维护,因为各层之间都是独立的层与层之间不会收到影响
    • 有利于标准化的制

    URI 和 URL的区别

    • URI(Uniform Resources Identifier):中文全称为统一资源标志符,主要作用是唯一标识一个资源
    • URL(Uniform Resources Location):中文全称为统一资源定位符,主要作用是提供资源的路径。

    DNS的解析流程

    1. DNS是分级别解析出IP地址的
    • 根域名服务器: 只负责顶级域的解析
    • 顶级域: .com、.gov(政府)、.cn(中国) .jp(日本)、 .kr(韩国)等通 过域名后缀来分类
    • 二级域:下一级域

    TCP 和 UDP的区别

    • TCP首部:前20个字节是固定的,后面有4n个字节根据需求而增加的选项,所以TCP首部最小的长度为20字节。

    在这里插入图片描述
    UDP的首部只有8个字节,源端口号、目的端口号、长度和校验各两个字节
    在这里插入图片描述

    是否面向连接可靠性传输形式传输效率消耗资源应用场景首部字节
    TCP面向连接可靠字节流文件/邮件传输20~60
    UDP面向连接不可靠数据报文端视频/语言传输8

    常见的HTTP方法

    方法作用
    GET获取资源
    POST传输实体主体
    PUT 上传文件
    DELETE删除文件
    HEAD和GET方法类似,但只返回报文首部,不返回报文实体主体部分
    PATCH 对资源进行部分修改
    OPTIONS查询指定的URL支持的方法
    CONNCT 要去用隧道协议连接代理
    TRACE服务器会将通信路径返回给客户端

    HTTPS的加密过程

    HTTPS的加密过程:

    1.客户端向服务端发起第一次握手请求,告诉服务端客户端所支持的SSL的指定版本、加密算法及密钥长度等信息。
    2.服务端将自己的公钥发给数字证书认证机构,数字证书认证机构利用自己的私钥对服务器的公钥进行数字签名,并给服务器颁发公钥证书。
    3.服务端将证书发给客服端。

    4.客服端利用数字认证机构的公钥,向数字证书认证机构验证公钥证书上的数字签名,确认服务器公开密钥的真实性。
    5.客服端使用服务端的公开密钥加密自己生成的对称密钥,发给服务端
    6.服务端收到后利用私钥解密信息,获得客户端发来的对称密钥。
    7.通信双方可用对称密钥来加密解密信息。。

    在这里插入图片描述

    常用的HTTP状态码

    1XX

    • 100 Continue:表示正常,客户端可以继续发送请求
    • 101 Switching Protocols:切换协议,服务器根据客户端的请求切换协议。

    2XX

    • 200 OK:请求成功
    • 201 cread :已创建,表示成功请求并创建了新的资源
    • 202 Accepted : 已接收,已接收请求 但未处理完成。
    • 204 No Content :无内容,服务器成功处理,但未返回内容
    • 205 Reset Content:重置内容,服务器处理成功,客户端应重置文档视图
    • 206 Partial Content : 表示客户端进行了请求,响应报文包含Content-Range 指定范围的实体内容

    3XX

    • 301 Moved Permanently:永久性重定向
    • 302 Found:临时重定向
    • 303 See Other:和301功能类似,但要求客户端采用get方法获取资源
    • 304 Not Modified:所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。
    • 305 Use Proxy:所请求的资源必须通过代理访问 307 Temporary Redirect:
      临时重定向,与302类似,要求使用get请求重定向

    4XX

    • 400 Bad Request:客户端请求的语法错误,服务器无法理解。
    • 401 Unauthorized:表示发送的请求需要有认证信息。
    • 403 Forbidden:服务器理解用户的请求,但是拒绝执行该请求
    • 404 Not Found:服务器无法根据客户端的请求找到资源。
    • 405 Method Not Allowed:客户端请求中的方法被禁止
    • 406 Not Acceptable:服务器无法根据客户端请求的内容特性完成请求 408 Request
      Time-out:服务器等待客户端发送的请求时间过长,超时

    5XX

    • 500 Internal Server Error:服务器内部错误,无法完成请求
    • 501 Not Implemented:服务器不支持请求的功能,无法完成请求
  • 相关阅读:
    【数据结构与算法】OJ题--来源力扣
    华为OD机试 - 判断一组不等式是否满足约束并输出最大差(Java 2023 B卷 100分)
    Spark读取文件性能优化
    java程序员的十年
    可视化工具Datart踩(避)坑指南(3)——筛选框的疑惑
    Seata总结
    【21天学习挑战赛—经典算法】快速排序
    重构:改善既有代码的设计 阅读笔记
    003:高精地图数据采集
    发现一个好玩的东西:Markdown 使用 Emoji 表情
  • 原文地址:https://blog.csdn.net/weixin_59796310/article/details/127766976