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

网络原理 - 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博客


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

http://www.lryc.cn/news/331487.html

相关文章:

  • Flask Python:模糊查询filter和filter_by,数据库多条件查询
  • leetcode 热题 100(部分)C/C++
  • 梨花带雨网页音乐播放器二开优化修复美化版全开源版本源码
  • 如何通过Spring提供的EL表达式执行bean的属性或方法?
  • SSTI 服务器端模板注入(Server-Side Template Injection)
  • Vue.js---------Vue基础
  • 力扣经典150题第一题:合并两个有序数组
  • Git:日志修改
  • 【数据库】MySQL InnoDB存储引擎详解 - 读书笔记
  • GPT-2原理-Language Models are Unsupervised Multitask Learners
  • 逆向案例十二——看准网企业信息json格式的信息
  • docker安装jenkins 2024版
  • 输入url到页面显示过程的优化
  • Linux(centos7)部署hive
  • LeetCode | 数组 | 双指针法 | 27. 移除元素【C++】
  • 【Apache Doris】周FAQ集锦:第 2 期
  • jQuery(二)
  • MIT6.828 实验环境安装教程
  • 一文彻底搞清 Iterator(遍历器)概念及用法
  • 稀疏矩阵的三元组表表示法及其转置
  • docker安装rabbitMQ,并且创建账号
  • wireshark解析grpc/protobuf的方法
  • 软件测试用例(2)
  • 集群式无人机仿真环境和数据集
  • IPSec VPN
  • docker部署nacos,单例模式(standalone),使用内置的derby数据库,简易安装
  • systemd监听服务配置文件更新自动重启服务
  • 【yy讲解PostCSS是如何安装和使用】
  • YOLO电动车检测识别数据集:12617张图像,yolo标注完整
  • 从汇编看函数调用