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

HTTP状态码与请求方式全解析【个人八股】

既然前面我们了解了计算机网络是什么?计算机网络的层次结构,计算机网络层次结构之间的工作方式。也了解了什么是DNS解析服务【没看过的小伙伴可以去看看哈!】

那么这一篇文章我们就去尝试着深入刨析一下HTTP

  1. 首先是介绍了HTTP常用的状态码以及含义,针对不同的含义,面试官可能会通过对比的去问的方式来考察面试者的掌握程度!

  2. 接着是考察了HTTP有哪些请求的方式?

    1. 请你说说每种请求方式的特点以及作用

    2. 请你说说你对于get方法的理解!幂等性,长度限制,与post的区别

首先我们先从简单的聊起,先谈谈你都知道哪些HTTP的状态码吧

说说 HTTP 常用的状态码及其含义?

HTTP 状态码用于表示服务器对请求的处理结果,可以分为 5 种:【主要就是下面这5种】

  • 1xx 服务器收到请求,需要进一步操作,例如 100 Continue。

  • 2xx 请求成功处理,例如 200 OK。

  • 3xx 重定向:需要进一步操作以完成请求;例如 304 Not Modified 表示资源未修改,客户端可以使用缓存。

  • 4xx 客户端错误:请求有问题,例如404 Not Found 表示资源不存在

  • 5xx 服务器错误,例如500 Internal Server Error 表示服务器内部错误。

我们见到比较多的就是404,200这种,作为后端开发人员,肯定是不希望看到5xx服务器报错的信息的!因为这通常代表着今晚又要加班了!

现在罗列一下常见的HTTP状态码,需要自取!

emmmm,说一下301和302的区别是什么

301:代表的是资源已经被永久移动了,在返回的时候会返回新的资源地址

302:代表的是资源临时性移动,服务器从另外的地址响应资源,但是客户端还应该使用这个地址

这里可能这么讲会有点蒙圈,看下面的讲解:

浏览器的行为:

  • 书签与历史记录:浏览器遇到 301 时,可能会自动更新你收藏的书签,并把新URL存入历史记录。而对 302,浏览器会保留旧的URL

  • 后续请求:对于 301,浏览器可以(而且通常会)永久缓存这个重定向规则。下次你再访问旧URL,浏览器会直接跳去新URL,不再询问服务器。但遇到 302,浏览器每次还是会先请求旧URL,除非服务器有特殊的短暂缓存指令。

如果还是不理解:

  • 301 像搬家换了常住地址,你会通知邮局把所有信件永久转送到新地址。

  • 302 像你临时外出,请邻居代收一下今天的快递,但告诉快递员你的固定地址没变,以后照常送。

既然你知道了HTTP有哪些状态码,那么你知道HTTP有哪些请求方式吗

HTTP 有哪些请求方式?

HTTP 协议定义了多种请求方式,用以指示请求的目的。常见的请求方式有 GET、POST、DELETE、PUT。

  • GET:请求检索指定的资源。这里应该保证数据的幂等性!因为get多次请求同一个位置的资源,那么理论上每次请求的资源应该都是一样的!并且请求之后资源的状态也是不会发生改变的

  • POST:向指定资源提交数据,请求服务器进行处理(如提交表单或上传文件)。数据被包含在请求体中。可能会创建新的资源或修改现有资源

  • DELETE:删除指定的资源。

  • PUT:用于替换指定的资源。如果指定的资源不存在,创建一个新资源。

后面这四种以了解为主!开发当中主要用的就是前四种方式!

  • HEAD:类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头。可以用于检查资源是否存在,验证资源的更新时间等。

  • OPTIONS:用于获取服务器支持的 HTTP 请求方法。通常用于跨域请求中的预检请求(CORS)。

  • TRACE:回显服务器收到的请求,主要用于测试或诊断。但由于安全风险(可能暴露敏感信息),很多服务器会禁用 TRACE 请求。

  • CONNECT:建立一个到目标资源的隧道(通常用于 SSL/TLS 代理),用于在客户端和服务器之间进行加密的隧道传输。

那你讲了这么多,我有个问题就是,get方法可以实现写操作吗

可以是可以这么做,但是不太建议!

使用GET 执行写操作可能导致严重的安全问题,如跨站请求伪造(CSRF)。

实际开发中,也应该杜绝使用 GET 方法执行写操作。在技术派实战项目中,我们会在接口上明确规定应该使用哪种请求方式。

那行,你刚刚提到了幂等性,那你说说什么是幂等性?

什么是幂等?幂等方法了解哪些?

幂等其实是一个数学上的概念,在这里主要是用来描述业务开发场景当中的一些特性,比如一个操作无论执行多少次,结果都不会随着操作次数的增加而发生变化!

换句话说,幂等操作可以重复执行而不会改变系统状态。

因此如果当前的操作是幂等的,操作一次和操作多次的结果都是一样的!

那你说了这么多有关于get方法的,那请你说一下post吧?

说⼀下 GET 和 POST 的区别?

GET 请求主要用于获取数据,参数附加在 URL 中,存在长度限制,且容易被浏览器缓存,有安全风险;而 POST 请求用于提交数据,参数放在请求体中,适合提交大量或敏感的数据。

另外,GET 请求是幂等的,多次请求不会改变服务器状态;而 POST 请求不是幂等的,可能对服务器数据有影响。

你刚刚提到了get长度的限制,那么你能说说get长度的限制是多少吗

HTTP 中的 GET 方法是通过 URL 传递数据的,但是 URL 本身其实并没有对数据的长度进行限制,真正限制 GET 长度的是浏览器。

本身我的URL不会去限制get的长度,但是浏览器会去进行一个限制的操作!

例如 IE 浏览器对 URL 的最大限制是 2000 多个字符,大概 2kb 左右,像 Chrome、Firefox 等浏览器支持的 URL 字符数更多,其中 FireFox 中 URL 的最大长度限制是 65536 个字符,Chrome 则是 8182 个字符。

这个长度限制也不是针对数据部分,而是针对整个 URL。

http://www.jsqmd.com/news/862031/

相关文章:

  • VGG16猫狗二分类
  • 工程实战:基于 GPIO 物理旁路极速部署机器人电梯调度系统的设计
  • 微波遥感杂谈五(微波辐射计)
  • 仪式感,从来与你无关
  • 慢驴效应(懒驴效应)
  • 3.url编码
  • Spec-Kit + Superpowers 实战:Go语言博客论坛系统的规范驱动开发
  • VisionPro 中 验证工具 ID Verfiction
  • 性价比高的国产PLM软件公司
  • 关于 ops-transformer 和它背后那套系统,几个我见过最常见的误解
  • 数采网关的应用与特点
  • 2025-2026年国内跨境电商TRO解冻机构:五大机构产品好的产品下架风险应对注意事项
  • 本科论文不用熬大夜?paperxie 智能写作,把万字初稿的时间从 30 天压到 3 小时
  • LeetCode 27 · 移除元素——双指针一次遍历搞定,O(n²) 暴力解瞬间不香了
  • 11.三层网络VXLAN
  • 【SSD】闪存1
  • VGG16猫狗二分类数据集处理
  • ops-transformer 基础设施性能实验报告:GE 融合边界与 Runtime 调度效率实测
  • 机器学习之逻辑回归算法
  • 远程技术面试的潜规则:摄像头角度可能影响你的录用
  • RUST编程学习.2语法
  • N-Tron交换机的网络可用性到底有多强?
  • 终极指南:5分钟掌握iFakeLocation实现iOS虚拟定位的完整方法
  • 鸿蒙中的自由流转
  • Midjourney色彩一致性难题破解(CMYK→sRGB跨域校准实战手册)
  • 英伟达的“围城”:云厂商自研芯片,攻到了哪一步?
  • 2026 年 5 月云手机横评:傲晨云领跑,红手指 / 川川云对比实测
  • SMARTFORM不同模板一起打印
  • 计算机毕业设计 | SpringBoot+vue医院药品管理系统(附源码+论文)
  • 彻底掌控Windows Defender:开源工具defender-control完全指南