HTTP响应(作用,格式,响应码的组成和分类,常见响应状态码)

article/2025/8/31 16:13:13

目录

一,HTTP响应的作用

二,HTTP响应的整体格式

三,HTTP响应状态码

四,HTTP响应状态码的组成和分类

五,HTTP常见响应状态码

2**成功响应相关

3**重定向相关

4**客户端响应相关

5**服务端响应相关

六,HTTP响应细节——常用响应头

七,响应头汇总

完整的 HTTP 响应状态码,可以参考MDN官方文档

了解更多🙂HTTP协议🙂内容,可以关注博主或者专栏哦!


一,HTTP响应的作用

  • 服务器端,针对客户端发送的http请求,回发响应数据。------http应答!
  • 规定回发给客户端的数据组织格式

二,HTTP响应的整体格式

响应行(状态行):协议版本(空格)状态码(空格)状态描述

响应头

  • 语法格式key:value
  • Content-Type:描述响应体中数据类型

空行:代表响应头结束

响应体:绝大多数不为空。(请求成功:回发数据;失败:回发错误信息)

三,HTTP响应状态码

  • HTTP响应状态码 (HTTP Status Code),也属于HTTP协议的一部分,用来标识响应的状态
  • 响应状态码会随着响应消息一起被发送至客户端浏览器,浏览器根据服务器返回的响应状态码,就能知道这次HTTP请求的结果是成功还是失败了。

四,HTTP响应状态码的组成和分类

HTTP 状态码由三个十进制数字组成

  • 第一个十进制数字定义了状态码的类型
  • 后两个数字用来对状态码进行细分。

HTTP 状态码共分为 5种类型

1**信息响应,服务器收到请求,需要请求者继续执行操作。
2**成功响应,操作被成功接收并处理。
3**重定向,需要进一步的操作以完成请求。
4**客户端响应,请求包含语法错误或无法完成请求。
5**服务器响应,服务器在处理请求的过程中发生了错误。

五,HTTP常见响应状态码

2**成功响应相关

2** 范围的状态码,表示服务器已成功接收到请求并进行处理。

状态码状态英文名称中文描述
200OK请求成功。一般用于 GET 与 POST 请求
201Created已创建。成功请求并创建了新的资源,通常用于 POST 或 PUT 请求

3**重定向相关

3** 范围的状态码,表示表示服务器要求客户端重定向,需要客户端进一步的操作以完成资源的请求。

状态码状态英文名称中文描述
301Moved Permanently永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替。
302Found临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI。
304Not Modified未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源(响应消息中不包含响应体)。客户端通常会缓存访问过的资源。

4**客户端响应相关

4** 范围的状态码,表示客户端的请求有非法内容,从而导致这次请求失败。

状态码状态英文名称中文描述
401Unauthorized当前请求需要用户验证。
403Forbidden服务器已经理解请求,但是拒绝执行它。
404Not Found请求失败。服务器无法根据客户端的请求找到资源(网页)。
408Request Timeout请求超时。服务器等待客户端发送的请求时间过长,超时。
400Bad Request1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。2、请求参数有误。

5**服务端响应相关

5** 范围的状态码,表示服务器未能正常处理客户端的请求而出现意外错误。

状态码状态英文名称中文描述
500Internal Server Error服务器遇到了不知道如何处理的情况。
501Not Implemented此请求方法不被服务器支持且无法被处理。只有GET和HEAD是要求服务器支持的,它们必定不会返回此错误代码。
503Service Unavailable服务器没有准备好处理请求。由于超载或系统维护,服务器暂时的无法处理客户端的请求。

六,HTTP响应细节——常用响应头

HTTP响应中的常用响应头(消息头)

Location: 服务器通过这个头,来告诉浏览器跳到哪里

Server:服务器通过这个头,告诉浏览器服务器的型号

Content-Encoding:服务器通过这个头,告诉浏览器,数据的压缩格式

Content-Length: 服务器通过这个头,告诉浏览器回送数据的长度

Content-Language: 服务器通过这个头,告诉浏览器语言环境

Content-Type:服务器通过这个头,告诉浏览器回送数据的类型

Refresh:服务器通过这个头,告诉浏览器定时刷新

Content-Disposition: 服务器通过这个头,告诉浏览器以下载方式打数据

Transfer-Encoding:服务器通过这个头,告诉浏览器数据是以分块方式回送的

Expires: -1 控制浏览器不要缓存

Cache-Control: no-cache

Pragma: no-cache

七,响应头汇总

完整的 HTTP 响应状态码,可以参考MDN官方文档

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status


了解更多🙂HTTP协议🙂内容,可以关注博主或者专栏哦!

HTTP协议的认识和特点,请戳下面链接!

https://blog.csdn.net/weixin_53436351/article/details/123810621

URL的概念与组成,请戳下面链接!

https://blog.csdn.net/weixin_53436351/article/details/123833107

HTTP请求(方法,格式;Fidder抓包;get与post请求的区别),请戳下面链接!

https://blog.csdn.net/weixin_53436351/article/details/123842331

HTTP响应(作用,格式,响应码的组成和分类,常见响应状态码),请戳下面链接!

https://blog.csdn.net/weixin_53436351/article/details/123880445


http://chatgpt.dhexx.cn/article/fGUQUnmm.shtml

相关文章

常用HTTP协议响应码

HTTP响应码,也称http状态码(HTTP Status Code),反映了web服务器处理HTTP请求状态,每一个响应码都代表了一种服务端反馈的响应状态,标识了本次请求是否成功。我们应该了解常见的响应码代表的状态,通过响应码能够对错误进…

HTTP响应码,大详解

1.HTTP的正确响应码 一、1XX (1开头) 请求已经被接收到了,需要进一步处理才能完成,HTTP1.0不支持; 100 Continue 上传大文件前先让服务器准备,由客户端发起请求中携带Except:100-continue 头…

HTTP 响应码大全

HTTP 状态码(HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。它由 RFC2616 规范定义的,并得到 RFC2518、RFC2817、RFC2295、RFC2774 与 RFC4918 等规范扩展。所有状态码的第一个数字代表了响应的五种状态之一。所示的消息短语是典型的…

【从零开始学架构-李运华】06|复杂地来源:可扩展性

可扩展性指系统为了应对将来需求的变化而提供的一种扩展能力,新需求出现时系统不需要或者仅需要少量修改就可以支持,无需整个系统重构或者重建。 面向对象就是为了解决可扩展性,后来的设计模式更是将可扩展性做到了极致。 具备良好扩展性的两…

【从零开始学架构-李运华】07|低成本、安全、规模

低成本 高性能和高可用架构通常都是增加服务器来满足要求,但低成本正相反,当然也不是首要目标。 往往“创新”才能达到低成本的目标!! 技术创新: NoSQL(Memcache、Redis)等是为了解决关系型数…

阿里P9李运华:想成为架构师,你必须知道CAP理论

CAP定理(CAP theorem)又被称作布鲁尔定理(Brewers theorem),是加州大学伯克利分校的计算机科学家埃里克布鲁尔(Eric Brewer)在2000年的ACM PODC上提出的一个猜想。2002年,麻省理工学…

笔记——专访李运华:程序员如何在技术上提升自己

原文链接:http://www.csdn.net/article/2014-10-20/2822190 摘要: 专访李运华:程序员如何在技术上提升自己 方法: 1 写博客 2 链式学习:从一个点不断学习相关的知识 3 闭环学习:了解整个功能或业务的全流…

【从零开始学架构-李运华】09|架构设计原则案例

【淘宝】 个人网站 > Oracle/支付宝/旺旺 > Java时代1.0 > Java时代2.0 > Java时代3.0 > 分布式时代 买一个快速可用、快速开发的系统。 MySQL升级Oracle,买性能 3. PHP切换Java,重构网站 4. 增加各种组件框架优化性能控制成本 5. 去I…

【从零开始学架构-李运华】05|复杂度来源:高可用

高可用的定义 系统无中断地执行其功能的能力,代表系统的可用性成都,是进行系统设计时的准则之一。 虽然方案五花八门但本质就是“冗余”! 与高性能的区别 高性能增加机器在于扩展处理性能,高可用在于增加冗余单元防止中断。 计算…

【从零开始学架构-李运华】04|复杂度来源:高性能

复杂度的六个来源之一:高性能 运算性能迅猛发展、软件复杂度发展、硬件存储发展。 用来代替旧技术的新技术才会给软件系统带来复杂度,而用来淘汰旧技术的新技术则不用担心。 1.单台计算机 手工操作->批处理->进程->分时多进程->进程通信-&…

【从零开始学架构-李运华】03|架构设计的目的

架构设计的误区 系统不一定需要架构设计; 架构设计不一定能提升开发效率; 好的架构设计能促进业务发展; 不是所有系统都需要架构设计; 等等…… 架构设计的真正目的 为了解决软件复杂度带来的问题 如何下手架构设计?…

李运华《从零开始学架构》——架构设计三原则

课程链接 https://time.geekbang.org/column/intro/100006601?utm_sourcetime_web&utm_mediummenu&utm_termtimewebmenu 分割线 前面几期专栏,我跟你系统的聊了架构设计的主要目的是为了解决软件系统复杂度带来的问题,并分析了复杂度的来源…

专访李运华:程序员如何在技术上提升自己

摘要:社区之星第56期采访了UC的软件工程师李运华,他先后经历了电信行业和互联网行业。在本次采访中,李老师分享了他的职场经历、团队管理经验、程序员提升自己的方法和应具备的素养,以及谈了对面向对象和编程语言看法。 李运华&a…

阿里P9李运华:架构到底是指什么?

你好,我是李运华。 2018 年,我发布了《从 0 开始学架构》这门课程,分享了我之前在电信业务和移动互联网业务方面的经验和感悟。 后来,我转岗去了蚂蚁国际,从事更加复杂的支付业务。为什么说支付业务更加复杂&#xf…

Rust之fluid用法(fltk ui 设计器)

fl2rust 用法 $ cargo install fl2rust然后运行&#xff1a; $ fl2rust <fl file>.fl > <output file>.rs 要通过 cargo 实现自动化&#xff0c;我们可以通过将 fl2rust 添加到构建依赖项中来将其用作库&#xff1a; # Cargo.toml [dependencies] fltk &q…

FLTK学习笔记2-回调函数

FLTK学习笔记2-回调函数 回调函数为控件添加回调函数程序示例 回调函数 回调函数&#xff08;Callback&#xff09;简单说来就是一个以函数指针的方式被调用的函数。 考虑如下情况&#xff0c;我们编写了一个整数排序算法函数mySort&#xff1a; void mySort(std::vector<…

rust 使用fltk 的小问题

rust 使用fltk 的小问题 windowns下进行编译使用cargo build --release 打包出现以下问题 最近有需求写一个简单的桌面应用程序&#xff0c;正好使用rust来练练手&#xff0c;中间碰到一些问题&#xff0c;尤其fltk 打包有个cmd黑框就很恶心。只记录一些国内网络上资料较少的问…

gmsh+fltk配置过程

本文主要讲解如何利用cmake进行配置带图形界面的gmsh,因为gmsh给出的qt范例只有简单的显示功能&#xff0c;而对 fltk中编写了较完整的功能&#xff0c;所以利用fltk进行说明&#xff0c;如需qt可参考链接。本文使用的编译器是vs2019 首先为了编译成功gmsh软件&#xff0c;我们…

FLTK学习笔记1-绘制基本控件(按钮、文本输入、容器)

FLTK学习笔记1-绘制基本控件&#xff08;按钮、文本输入、容器&#xff09; FLTK中的坐标FLTK常用控件按钮控件文本控件容器控件 绘制基本控件 FLTK中的坐标 在FLTK中坐标均为正整数&#xff0c;其单位是像素&#xff08;pixel&#xff09;&#xff0c;原点&#xff08;x0, y0…

FLTK中的字体

FLTK中的字体 字体在FLTK中的表示获取系统的字体编号表程序示例 字体在FLTK中的表示 在FLTK中&#xff0c;系统中的每一种字体都对应着一个整数类型(严格来讲是Fl_Font类型&#xff0c;但Fl_Font本身就是int的别名)的字体编号。例如&#xff0c;在本人的系统中“楷体”所对应的…