ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

HTTP响应详解

2022-01-27 18:58:51  阅读:160  来源: 互联网

标签:body 状态 HTTP 请求 302 响应 详解 服务器


HTTP响应详解

HTTP响应格式:
在这里插入图片描述

认识状态码

状态码是由三位数字构成的,用来标识服务端对客户端这次请求的处理结果;

常见状态码

200 ok状态码

200 ok:这是一个最常见的状态码, 表示访问成功;

抓包抓到的大部分结果都是 200

  • 访问百度页面时:

在这里插入图片描述

  • 访问 csdn 页面时:
    在这里插入图片描述

404 NOT FOUND 状态码

该状态码(404 NOT FOUND),标识请求的 URL 路径没有对应的资源;

如当我们访问 www.sogou.com/index2.html这个不存在的路径时,就会出现该状态码;

如下所示
在这里插入图片描述

403 Forbidden 状态码

403 Forbidden:表示禁止访问;
一般用于
(1)未登陆去访问;
(2)登陆了,但权限不够;

如下图所示:

比如:

405 Method Not Allowed 状态码

405 Method Not Allowed :方法不支持;出现该状态码时,就要检查是前端的请求方法不对还是后端提供的方法不对;
前后端要使用相同的约定

500 Internal Server Error 状态码

服务器出现内部错误, 一般是服务器的代码执行过程中遇到了一些特殊情况(服务器异常崩溃)会产生这个状态码;(一般较少遇见

504 Gateway Timeout 状态码

该状态码(504 Gateway Timeout ):当服务器负载比较大的时候, 服务器处理单条请求的时候消耗的时间就会很长, 就可能会导致出现超时的情况;

302、301 状态码

302 Move temporarily:临时重定向;
301 Moved Permanently:永久重定向;
两者效果看起来都一样,只是服务端某个资源是临时改变,之后还能改变还是被永久改变了;
在登陆页面中经常会见到 302, 用于实现登陆成功后自动跳转到主页;
响应报文的 header 部分会包含一个 Location 字段, 表示要跳转到哪个页面;

gitee 登陆页面,如下所示
在这里插入图片描述

服务端返回 302 状态码,浏览器发现响应状态码为302,就会查询响应头 Location 字段(值为一个URL),浏览器就会自动发起另一次请求(地址栏地址会自动变为 Location 中的地址);

对于重定向来说

  • 会发送两次请求;
  • URL 会发生改变:第一次请求的 URL 会变成第一次响应 Location 中的地址(第二次请求);

想要查看完整版信息,可通过抓包工具右下角:View in Notepad;

如下所示
在这里插入图片描述

状态码小结

类别说明
1xxinformational (信息性状态码)接收的请求正在处理
2xxsuccess(成功状态码)请求正常处理完毕
3xxRedirection(重定向状态码)需要进行附加操作以完成请求
4xxClient Error(客户端错误状态码)服务器无法处理请求
5xxServer Error (服务器错误状态码)服务器处理请求出错

认识响应报头(header)

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

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

  • text/html : body 数据格式是 HTML;
  • text/css : body 数据格式是 CSS;
  • application/javascript : body 数据格式是 JavaScript;
  • application/json : body 数据格式是 JSON

如下图所示在这里插入图片描述


认识响应正文 (body)

正文的具体格式取决于 Content-Type有以下常见格式:

  • text/html

在这里插入图片描述

  • text/css

在这里插入图片描述

  • application/javascript

在这里插入图片描述

  • application/json
    在这里插入图片描述

标签:body,状态,HTTP,请求,302,响应,详解,服务器
来源: https://blog.csdn.net/m0_52083255/article/details/122673859

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有