• 自动秒收录
  • 软件:1973
  • 资讯:57811|
  • 收录网站:279851|

IT精英团

面试题:5 分钟掌握 HTTP 状态码

面试题:5 分钟掌握 HTTP 状态码

浏览次数:
评论次数:
编辑: mob604756ff98d6
信息来源: 51CTO博客
更新日期: 2021-05-18 13:44:50
摘要

面试题:5 分钟掌握 HTTP 状态码,作为一个开发人员,我们每天都会花大量的时间来处理前后端间的数据请求与响应,这就需要我们有足够的 HTTP 知识,本节将针对 HTTP status code 展开探讨。一、 什么是 HTTP 状态码Fernando Doglio在他的书中 - 使用NodeJS的REST API开发将状态代码定义为:一个数字,总结了与之相关的响应。当客户端向服务器发出请求时,服务器提供HTTP(超文本传输协议)响应

  • 正文开始
  • 相关阅读
  • 推荐作品


作为一个开发人员,我们每天都会花大量的时间来处理前后端间的数据请求与响应,这就需要我们有足够的 HTTP 知识,本节将针对 HTTP status code 展开探讨。

一、 什么是 HTTP 状态码

Fernando Doglio在他的书中 - 使用NodeJS的REST API开发将状态代码定义为:

一个数字,总结了与之相关的响应。

当客户端向服务器发出请求时,服务器提供HTTP(超文本传输协议)响应状态代码,这使我们能够了解网站后端发生的情况,确定需要修复的错误。

二、HTTP 状态码备忘单

响应信息

1xx:临时回应,表示客户端请继续 

1xx 的状态会被浏览器 HTTP 库直接处理掉,不会让上层应用知晓

成功

200 - OK:成功传输 

请求成功

201 - Created:创建 

资源已创建,服务器已确认。它对POST或PUT请求的响应很有用。此外,新资源可以作为响应正文的一部分返回。

204 - No content:没有内容 

该操作请求成功,但没有返回任何内容。对于不需响应主体的操作很有用,例如 DELETE 操作。

205 - Reset Content:重置内容 

表示请求成功,但响应报文不含实体的主体部分,但是与 204 响应不同在于要求请求方重置内容

重定向

3xx: 当服务器通知客户端请求的目标有变化,希望客户端进一步处理,将使用这些。

301 - moved permanently:永久移动 

用于通知浏览器所请求的文件已被移动,并且它应该从服务器提供的位置请求文件,并记住该新位置以供将来参考。这只能用于HTTP GET和HEAD请求。

此资源已移至另一个位置,并返回该位置。当URL随着时间的推移而变化时(尤其是由于版本,迁移或其他一些破坏性更改),此标头特别有用,保留旧标头并将重定向返回到新位置允许旧客户端更新其引用自己的时间。

302 - found(找到):临时重定向 

相似301; 但它是临时重定向。它将客户端从旧资源引导到新资源,但它不会告诉搜索引擎更新页面的索引。告诉客户端浏览另一个URL。

304- Not Modified:客户端缓存没有更新 

产生的前提:客户端本地已经有缓存的版本,并且在 Request 中告诉了服务端,当服务端通过时间或 tag,发现没有更新的时候,就会返回一个不含 body 的 304 状态码

307 - temporary redirect:暂时移动

临时重定向,和302含义类似,但是期望客户端保持请求方法不变向新的地址发出请求

客户端错误

4xx: 定义客户端错误,这是服务器认为Web浏览器出错的地方。

400 - bad request:不良请求 

发出的请求有问题(例如,可能缺少一些必需的参数)。对400响应的良好补充可能是开发人员可用于修复请求的错误消息

401 - unauthorized:未经授权 

当拥有请求的用户无法访问所请求的资源时,对身份验证特别有用

403 - forbidden:禁止  - 资源不可访问,但与401不同,身份验证不会影响响应。

通常在请求的文件有效但文件无法提供时发出,这通常是由于服务器端权限问题导致Web服务器不允许将文件提供给客户端。

401 与 403 的区别:

  • 401 我去找个人,门卫说不认识我不让我进

  • 403 我去找个人,门卫说认识我,但是我不能进,因为我不配

404 - Not Found:请求的资源不存在 

这可能是最常见且经常出现的错误。当Web浏览器请求服务器上不存在的文件时,会发生此问题。

405 - 方法不允许 

不允许在资源上使用HTTP动词(例如POST,GET,PUT等) - 例如,在只读资源上执行PUT。

418 :It's a teapot,来自 ietf 的一个愚人节玩笑 

服务端错误

5xx: 定义服务器端错误。尽管客户端提供了有效请求,但这些都是服务器部分发生的错误。

500 - internal sever error:内部服务器错误 

这是一个不幸的模糊通用错误代码。只要认为服务器遇到与任何更具体的错误代码不匹配的错误,就会发出它。

501 - Not Implemented:未实现 

服务器要么不识别请求方法,要么不支持请求。

502 - Bad Gateway:错误网关 

当Web浏览器联系充当另一个服务器的代理的Web服务器并且从另一个服务器获得无效响应时,会发生这种情况。

503 - service unavailable:服务不可用 

这通常在服务器暂时性错误(暂时处于超负载或正在停机维护)的情况下遇到,此时服务器无法处理请求,可以一会再试


标签:Java
程序员现在都用微服务!那你知道Spring Batch吗?
« 上一篇 2021-05-18
这道高频面试题你掌握了吗?
下一篇 » 2021-05-18
  • 如何在Ubuntu中保留文件系统并备份当前开发板镜像
    0阅读 0条评论 个赞
    在Ubuntu保留文件系统或者说备份当前开发板镜像的需求在不断增加。比如Ubuntu文件系统需要安装库文件的话直接使用apt-get工具就可以下载,但由于需要下载的核心板较多,比较费时间,这时需要将安……
  • 国产核心板全志T507助力消防系统升级
    0阅读 0条评论 个赞
    9月16日下午,位于湖南长沙市区内的中国电信大楼发生火灾,建筑高度218米,现场浓烟滚滚,数十层楼体燃烧剧烈。消防救援人员赶到现场后很快将火势控制住,目前大楼火势已被扑灭,所幸未发现人员伤亡。湖南电信……
  • 教大家如何处理Spring Boot易流中的用户和群体!
    0阅读 0条评论 个赞
    1.准备工作2.用户操作2.1添加用户2.2修改用户2.3删除用户2.4查询用户3.组操作3.1添加组3.2修改组3.3删除组3.4查询组4.查看表详情虽然说我们在实际开发中,……
  • 从PG15开始WAL压缩优化
    0阅读 0条评论 个赞
    PG15传闻中的超级令人激动的功能大多数跳票了,年初我也写过一个关于PG15新功能跳票的文章。PG15BETA已经发出几个月了,似乎PG15里令人激动人心的功能不多,不过从长长的新功能列表里,……
  • 深入了解美团叶子发射器开源方案
    0阅读 0条评论 个赞
    大家好,我是树哥。之前我们有聊过「如何设计一个分布式ID发号器」,其中有讲过4种解决方案,分别是:UUID类雪花算法数据库自增主键Redis原子自增美团以第2、3种解决方案为基础,开发出……
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
  • spring MVC(II)——请求处理参数和响应数据处理
    0阅读 0条评论 个赞
    1、请求处理参数1.1请求参数@RequestParam1.1.1不使用@RequestParam注解请求参数处理,不使用参数注解:1.如果请求参数名和请求处理的形参名一致,springMv……
  • MySQL查询性能优化指数下推的七大武器
    0阅读 0条评论 个赞
    前面已经讲了MySQL的其他查询性能优化方式,没看过可以去了解一下:MySQL查询性能优化七种武器之索引潜水MySQL查询性能优化七种武器之链路追踪今天要讲的是MySQL的另一种查询性能优化方式—索……
  • 拓扑岭CEO雷鹏:创业不只是技术
    0阅读 0条评论 个赞
    云计算的出现,加速了企业信息技术的发展。数据库是最常用的基础软件之一,它通常能提供计算和存储的能力。虽然分布式数据库也做到了很好的扩展性,但它不能算是「云原生」。「云原生数据库」的核心,是要设计一种更……
  • 二战MySQL数据库【升华】
    0阅读 0条评论 个赞
    MYSQL入门系列——第二篇1.筛选条件:(1)比较运算符:(2)逻辑运算符:(3)其他操作:1.排序:2.限制:拓展:3.去重:4.模糊查询:(like'%')5.范围查询:2.聚合与分组(重点……
  • 基于iframe的微前端框架——青田
    33阅读 0条评论 个赞
    vivo互联网前端团队-JiangZuohan一、背景VAPD是一款专为团队协作办公场景设计的项目管理工具,实践敏捷开发与持续交付,以「项目」为核心,融合需求、任务、缺陷等应用,使用敏捷迭代、小……
  • 新零售SaaS架构:商品系统架构设计
    0阅读 0条评论 个赞
    SaaS产品就像一座冰山,冰山以上的部分是功能、数据(可见部分)、用户界面,冰山以下是系统架构、完整的数据模型、开放体系、非功能性需求(扩展性、可维护性、性能、安全等)。短期内想要快速上线产品,可能只……
  • SQL Server复制:事务发布
    0阅读 0条评论 个赞
    一、背景在复制的运用场景中,事务发布是使用最为广泛的,我遇到这样一个场景:在Task数据库中有Basic与Group两个表,需要提供这两个表的部分字段给其它程序读取放入缓存,程序需要比较及时的获取……
  • 能够在JAVA中自定义和扩展Swagger 自动生成参数值的含义 提高开发效率
    0阅读 0条评论 个赞
    大家好,又见面了。在JAVA做前后端分离的项目开发的时候,服务端需要提供接口文档供周边人员做接口的对接指导。越来越多的项目都在尝试使用一些基于代码自动生成接口文档的工具来替代由开发人员手动编写接口文档……
  • SQL Server表变量和临时表的区别
    0阅读 0条评论 个赞
    一、表变量表变量在SQLServer2000中首次被引入。表变量的具体定义包括列定义,列名,数据类型和约束。而在表变量中可以使用的约束包括主键约束,唯一约束,NULL约束和CHECK约束(外键……
  • 平均负载和CPU利用率有什么区别?
    2阅读 0条评论 个赞
    大家好,我是树哥。在性能优化中,我们经常会关注CPU平均负载这个指标。但如果让你来跟我解释一下什么是平均负载,你能说得清楚吗?它跟CPU使用率有什么区别?我想可能很多人都数不清楚,今天我们就来……
  • Java线程面试题前50名
    0阅读 0条评论 个赞
    .css-1yuhvjn{margin-top:16px;}.css-3jt6os.FileLinkCard{-webkit-align-items:center;-webkit-box-align……
  • 在头脑中扎根泛型的思想3354深刻理解泛型
    0阅读 0条评论 个赞
    1.前言往往一些刚接触C#编程的初学者,对于泛型的认识就是直接跳到对泛型集合的使用上,虽然微软为我们提供了很多内置的泛型类型,但是如果我们只是片面的了解调用方式,这会导致我们对泛型盲目的使用。至于为什……
  • smile——Java机器学习引擎
    2阅读 0条评论 个赞
    资源https://haifengl.github.io/https://github.com/haifengl/smile介绍Smile(统计机器智能和学习引擎)是一个基于Java和Scala的快速……
  • 谈ASP.NET核心认证与授权
    0阅读 0条评论 个赞
    使用asp.netcore开发应用系统过程中,基本上都会涉及到用户身份的认证,及授权访问控制,因此了解认证和授权流程也相当重要,下面通过分析asp.netcore框架中的认证和授权的源码来分析……
  • 图解架构| SaaS、PaaS、IaaS
    0阅读 0条评论 个赞
    这是悟空的第164篇原创文章官网:www.passjava.cn你好,我是悟空哥。上次聊到了架构图如何画,其中涉及到了云服务的架构图,里面提到了很重要的三个概念PaaS、IaaS、SaaS,很有必要……
  • 教大家如何处理Spring Boot易流中的用户和群体!
    0阅读 0条评论 个赞
    1.准备工作2.用户操作2.1添加用户2.2修改用户2.3删除用户2.4查询用户3.组操作3.1添加组3.2修改组3.3删除组3.4查询组4.查看表详情虽然说我们在实际开发中,……
  • Java精进-手写持久层框架
    0阅读 0条评论 个赞
    前言本文适合有一定java基础的同学,通过自定义持久层框架,可以更加清楚常用的mybatis等开源框架的原理。JDBC操作回顾及问题分析学习java的同学一定避免不了接触过jdbc,让我们来回顾下初学……
  • SQL Server动态生成分区脚本
    0阅读 0条评论 个赞
    一、前言前段时间使用表分区比较多,虽然已经写了SQLServer合并(删除)分区解惑、SQLServer2005分区模板与实例,但是在实践中一直感觉修改SQL脚本的时间比较多,一直想抽个时间来把……
  • SpringMVC 03: 请求和响应的乱码解决 + SpringMVC响应Ajax请求
    1阅读 0条评论 个赞
    请求或响应的中文乱码问题tomcat9解决了get请求和响应的中文乱码问题,但是没有解决post请求或响应的中文乱码问题tomcat10解决了get和post请求以及响应的中文乱码问题考虑到实际项目中……
  • 珊瑚海跨终端解决方案及移动端动态布局实践
    0阅读 0条评论 个赞
    目录1.背景和介绍1.1跨端动态化技术的现状和问题1.2珊瑚海介绍1.3与其他框架的对比1.4应用案例2.珊瑚海技术方案2.1整体设计2.2D2X2.3开发工具2.4移动端引擎2.5……
最近发布资讯
更多