网络原理 - HTTP / HTTPS(3)——http响应

目录

一、认识 “状态码”(status code)

常见的状态码

(1)200 OK

(2)404 Not Found

(3)403 ForBidden

(4)405 Method Not Allowed

(5)500 Internal Server Error

(6)504 GateWay TimeOut

(7)302 Move temporarily

(8)301 Moved Permanently

(9)418 I am a teapot(彩蛋)

(10)状态码分类图

二、认识响应 “报头”(header) 

三、认识响应 “正文”(body)


一、认识 “状态码”(status code)

        状态码表示访问一个网页的结果,是成功,还是失败,还是一些其他情况,状态码有很多,如图:

        上面这些状态码并不需要全部记住,只需记住一些常见的即可,下面介绍一些常见的状态码。

常见的状态码

(1)200 OK

        表示访问这个页面成功了,一切顺利。我们随便抓取一个包,很多都是200的状态码,如图:

(2)404 Not Found

        访问的资源找不到。我们现在给搜狗的域名后面加abc.html(带层次的文件路径),如图:

        出现了404,意思是访问的资源找不到;有的网页会把这个界面做的好看一点,有的就会是版本404,像B站的404页面就具有二次元风格,如图:

(3)403 ForBidden

        要访问的资源没有权限。例如访问别人gitte上的私人仓库,就会出现403。如图,访问一个别人的私有云:

(4)405 Method Not Allowed

        你的服务器只支持GET方法的请求。但你发了个POST方法的请求,就会出现405。

(5)500 Internal Server Error

        服务器内部错误(服务器挂了);在外面的网站很难遇到,咱们自己写的服务器很容易遇到。

(6)504 GateWay TimeOut

        访问服务器超时,可能是服务器挂了,也可能是网络挂了

(7)302 Move temporarily

        重定向(临时重定向,不方便缓存)指的是我明明访问的是A网站,但A网站会告诉你,你去访问B网站,浏览器就会自动跳转到B网站

        这个类似以前手机的呼叫转移因为以前的漫游费很贵,要是在不同省份就会换成当前省份的手机号码,但是换了手机号后,朋友亲人怎么知道我换了手机号,要一个一个电话打给他们吗?当然不是,我们可以整一个 “呼叫转移” 业务,这样朋友亲人们打的电话还是我以前的旧号码,但是一位办了 “呼叫转移” 业务,所以实际上会转到我现在新的手机号码,这样就不用那么麻烦了,朋友亲人依然可以联系到我

        而这里的重定向,可以运用在网页更新域名的时候使用,因为更新域名前已经积攒了一些老用户,老用户不知道更新了域名,依然会使用老的域名,这时就会使用到重定向,即使老用户访问的是旧域名,还是可以通过重定向,访问到更新后的域名

        有重定向的响应报文中,用 Location 描述重定向要跳转的网页在哪里

        下面抓取是重定向的数据包,访问码云的登陆登录页面:https://gitee.com/login

        header中的Location是 https://gitee.com/,接下来浏览器就会自动发送GET请求,获取 https://gitee.com/

(8)301 Moved Permanently

        永久重定向浏览器会把重定向的结果记录下来,后续再次访问,就会直接访问重定向的目标地址,不必再多跳转一次了(如果是临时重定向,就不太方便缓存)

(9)418 I am a teapot(彩蛋)

        我是一个茶壶(杯具),是一个彩蛋。是设计HTTP协议的大佬,开的一个玩笑;很多程序猿也会在代码上搞类似的彩蛋(苦中作乐),但我们实际工作中,千万不要这么搞,因为商业产品往往是很严肃的,即使对产品本身逻辑没有什么影响,但指不定哪天,就会背刺你一下,就这么一下,很可能会导致我们丢饭碗;在前端,比较出名的开源库:Ant Design 组件库,就有类似的严重失误,感兴趣可以在网上搜一下。

(10)状态码分类图


二、认识响应 “报头”(header) 

        响应报头和请求报头的格式基本一致类似 Content-Type 和 Content-Length 等属性也和请求中的含义一致

这些属性的含义可以参考我的上一篇文章:网络原理 - HTTP / HTTPS(2)——http请求-CSDN博客

        响应中的 Content-Type 常见取值有以下几种:

                •text/html :body 数据格式是 HTML
                • text/cssbody 数据格式是 CSS
                • application/javascriptbody 数据格式是 JavaScript 
                • application/jsonbody 数据格式是 JSON

关于 Content-Type 的详细情况:https://developer.mozilla.org/enUS/docs/Web/HTTP/Basics_of_HTTP/MIME_types


三、认识响应 “正文”(body)

        正文(body)的具体格式取决于报头中的Content-Type,body的格式我上篇文章有,可以参考:网络原理 - HTTP / HTTPS(2)——http请求-CSDN博客


都看到这了,点个赞再走吧,谢谢谢谢谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/515436.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从零到一:基于 K3s 快速搭建本地化 kubeflow AI 机器学习平台

背景 Kubeflow 是一种开源的 Kubernetes 原生框架,可用于开发、管理和运行机器学习工作负载,支持诸如 PyTorch、TensorFlow 等众多优秀的机器学习框架,本文介绍如何在 Mac 上搭建本地化的 kubeflow 机器学习平台。 注意:本文以 …

从头开发一个RISC-V的操作系统(二)RISC-V 指令集架构介绍

文章目录 前提ISA的基本介绍ISA是什么CISC vs RISCISA的宽度 RISC-V指令集RISC-V ISA的命名规范模块化的ISA通用寄存器Hart特权级别内存管理与保护异常和中断 目标:通过这一个系列课程的学习,开发出一个简易的在RISC-V指令集架构上运行的操作系统。 前提…

JavaSE-11笔记【多线程2(+2024新)】

文章目录 6.线程安全6.1 线程安全问题6.2 线程同步机制6.3 关于线程同步的面试题6.3.1 版本16.3.2 版本26.3.3 版本36.3.4 版本4 7.死锁7.1 多线程卖票问题 8.线程通信8.1 wait()和sleep的区别?8.2 两个线程交替输出8.3 三个线程交替输出8.4 线程通信-生产者和消费者…

硬件了解 笔记 2

CPU 内存控制器:负责读写数据 代理系统和平台IO:与主板上的芯片组通信,并管理PC中其他组件之间的数据流 主板:巨大的印刷电路板 Chipset:芯片组,位于散热器下方,直接连接到CPU的系统代理部分 …

应急响应-网站入侵篡改指南Webshell内存马查杀漏洞排查时间分析

知识点 网站入侵篡改防范应对指南 主要需了解:异常特征,处置流程,分析报告等 主要需了解:日志存储,Webshell检测,分析思路等掌握 中间件日志存储,日志格式内容介绍(IP,UA头,访问方…

KV260 BOOT.BIN更新 ubuntu22.04 netplan修改IP

KV260 2022.2设置 BOOT.BIN升级 KV260开发板需要先更新BOOT.BIN到2022.2版本,命令如下: sudo xmutil bootfw_update -i “BOOT-k26-starter-kit-202305_2022.2.bin” 注意BOOT.BIN应包含全目录。下面是更新到2022.1 FW的示例,非更新到2022.…

IPSec VPN

IP Security,IP安全 1、特点 L3的VPN 缺:不支持组播、配置复杂、延迟增加、资源消耗较多 优:具备访问控制、密码学四个维度、抗重放打击 2、组件 ①安全协议 1)验证头技术(AH) IP协议号51 提供数据完整性检查,身份验证,抗重放攻击 无法做数据的机密性 AH的完…

【异常错误】 Expected to have finished reduction in the prior iteration before star、find_unused_parameters

运行代码时出现了错误: RuntimeError: Expected to have finished reduction in the prior iteration before starting a new one. This error indicates that your module has parameters that were not used in producing loss. You can enable unused parameter …

【Django学习笔记(四)】JavaScript 语言介绍

JavaScript 语言介绍 前言正文1、JavaScript 小案例2、代码位置2.1 在当前 HTML 文件中2.2 在其他 js 文件中 3、代码注释3.1 HTML的注释3.2 CSS的注释3.3 Javascript的注释 4、变量 & 输出4.1 字符串4.2 数组4.3 对象(python里的字典) 5、条件语句6、函数7、DOM7.1 根据 I…

【树上倍增】【内向基环树】【 图论 】2836. 在传球游戏中最大化函数值

本文涉及知识点 树上倍增 内向基环树 图论 LeetCode2836. 在传球游戏中最大化函数值 给你一个长度为 n 下标从 0 开始的整数数组 receiver 和一个整数 k 。 总共有 n 名玩家,玩家 编号 互不相同,且为 [0, n - 1] 中的整数。这些玩家玩一个传球游戏&am…

ideaSSM图书借阅管理系统VS开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 SSM 图书借阅管理系统是一套完善的信息管理系统,结合SSM框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码 和数据库,系统主…

【爬虫+数据清洗+数据分析+可视化】“淄博烧烤”现象热评舆情python数据分析大屏

一、开发背景 您好,我是马哥小迷弟132 ,一枚10年程序猿。 自从2023.3月以来,"淄博烧烤"现象持续占领热搜流量,体现了后疫情时代众多网友对人间烟火气的美好向往,本现象级事件存在一定的数据分析实践意义。…

Java零基础入门-java8新特性(上篇)

一、本期教学目标 java8有哪些新特性什么是函数式接口什么是Lambda表达式掌握Stream ApiStream和Collect集合区别Stream创建方式Stream操作三步骤 二、概述 上几期,我们是完整的学完了java异常类的学习及实战演示、以及学习了线程进程等基础概念,而这一…

Cache多核之间的一致性MESI

快速链接: 【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈 思考: 1、为什么要学习MESI协议? 哪里用到了?你确定真的用到了? 2、MESI只是一个协议,总得依赖一个硬件去执行该协议吧&#xff0c…

电商技术揭秘一:电商架构设计与核心技术

文章目录 引言一、电商平台架构概述1.1 架构设计原则与架构类型选择1.2 传统电商平台架构与现代化架构趋势分析 二、高并发处理与负载均衡2.1 高并发访问特点分析与挑战2.2 负载均衡原理与算法选择 三、分布式数据库与缓存技术3.1 分布式数据库设计与一致性考量3.2 缓存策略与缓…

C++实现二叉搜索树的增删查改(非递归玩法)

文章目录 一、二叉搜索树的概念结构和时间复杂度二、二叉搜索树的插入三、二叉搜索树的查找四、二叉搜索树的删除(最麻烦,情况最多,一一分析)3.1首先我们按照一般情况下写,不考虑特殊情况下4.1.1左为空的情况&#xff…

分享:搭建企微知识库简单易学步骤

说起企微知识库,可能有些人还不太清楚,为什么现在很懂企业选择搭建企微知识库?其实,企微知识库就是一个装满了企业的各种知识、经验和资料的载体。目的是为了方便员工随时查找和学习、有助于知识的传承和共享、加强团队协作和沟通…

自然语言处理: 第二十一章大模型基底之llama2

文章地址: LLaMA:OpenandEfficient Foundation Language Models 项目地址: meta-llama/llama: Inference code for Llama models (github.com) 前言 在LLaMa1的基础之上有兴趣的可以看看我上一篇博客自然语言处理: 第二十一章大模型基底之llama1。Meta 又继续推出了LLaMa2&a…

windows安装OpenUSD

一、下载OpenUSD git clone https://github.com/PixarAnimationStudios/OpenUSDOpenUSD,原名USD(Universal Scene Description,通用场景描述),是由皮克斯动画工作室开发的一种开放数据格式。OpenUSD主要用于在虚拟世界…

AI论文速读 |【综述】 时序分析基础模型:教程与综述

论文标题:Foundation Models for Time Series Analysis: A Tutorial and Survey 作者: Yuxuan Liang(梁宇轩), Haomin Wen(温浩珉), Yuqi Nie(PatchTST一作), Yushan Jiang, Ming J…