HTTP请求、响应详解

news2024/11/26 23:15:47

目录

一、HTTP请求详解

1.1 认识请求“报头”(header)

1.2 认识请求“正文”(body)

1.2.1 application/x-www-form-urlencoded

1.2.2  multipart/form-data

1.2.3  application/json

二、HTTP响应详解 

2.1 认识状态码

2.2 认识响应“报头”(header)

2.3  认识响应“正文”(body)

2.3.1 text/html

2.3.2 text/css

2.3.3 application/javascript

2.3.4 application/json


一、HTTP请求详解

1.1 认识请求“报头”(header)

header中的整体格式是“键值对”结构。每个键值对占一行,键和值之间使用分号分割。接下来就介绍几个常见的的报头种类。使用Fiddler抓取搜狗主页为例。

  • Host表示服务器主机的地址和端口
  • Content-Length:表示body中的长度,GET方法一般没有这个参数(GET方法一般没有body)
  • Content-Type:表示请求的 body 中的数据格式。常见的有application/x-www-form-urlencodeed:form(表单提交)、application/json(以json格式提交)
  • User-Agent:表示浏览器/操作系统的属性
  • Referer:表示这个页面是从哪个页面跳转过来的
  • Cookie:Cookie 中存储了一个字符串,这个数据可能是客户端(网页)自行通过 JS 写入的,也可能来自于服务器(服务器在 HTTP 响应的 header 中通过 Set-Cookie 字段给浏览器返回数据)。往往可以通过这个字段实现 "身份标识" 的功能。

1.2 认识请求“正文”(body

正文中的内容格式和 header 中的 Content-Type 密切相关。下面可以通过抓包来观察这几种情况

1.2.1 application/x-www-form-urlencoded

抓取码云上传头像的请求

1.2.2  multipart/form-data

1.2.3  application/json

二、HTTP响应详解 

2.1 认识状态码

想要了解响应的具体情况就需要先认识状态码,状态码表示访问一个页面的结果。(是访问成功,还是失败,是其他的一些情况...)

  • 200 OK:这是一个最常见的状态码,表示访问成功
  • 404 Not Found:没有找到资源,这个可能是访问的路径出错
  • 403 Forbidden:表示访问被拒绝。有的页面通常需要用户具有一定的权限才能访问(登陆后才能访问)。 如果用户没有登陆直接访问,就容易见到 403
  • 405 Method Not Allowed:对方服务器不支持一些方法
  • 500 Internal Server Error:服务器出现内部错误。一般是服务器的代码执行过程中遇到了一些特殊情况(服务器异常崩溃)会产生这个状态码
  • 504 Gateway Timeout:当服务器负载比较大的时候, 服务器处理单条请求的时候消耗的时间就会很长,就会导致超时的情况。
  • 302 Move temporarily:临时重定向
  • 301 Moved Permanently:永久重定向。当浏览器收到这种响应时,后续的请求都会被自动改成新的地址

状态码小结

2.2 认识响应“报头”(header)

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

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

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

2.3  认识响应“正文”(body)

正文的具体格式取决于 Content-Type。观察上面几个抓包结果中的响应部分

2.3.1 text/html

2.3.2 text/css

2.3.3 application/javascript

2.3.4 application/json

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Centos7配置国内yum源

目录 备份原系统中的repo文件配置国内开源镜像重新生成yum缓存 备份原系统中的repo文件 cd /etc/yum.repos.d/mkdir repo_bakmv *.repo repo_bak/配置国内开源镜像 到网易和阿里开源镜像站点下载系统对应版本的repo文件 curl -O http://mirrors.aliyun.com/repo/Centos-7.re…

com.google.gson.internal.LinkedTreeMap cannot be cast to XXX

起因是在对google商品做本地缓存时,上线后发现的bug 刚开始非常自信,debug没问题线上有问题,大概率就是混淆文件没有添加keep,于是本地添加对SDK中类的keep,本地打包release验证,不出意外还是崩溃 仔细看…

GEE:Bfast时间序列扰动检测

本文记录了 Google Earth Engine (GEE) 上 Bfast 时间序列检测的APP和gitHub链接。 文章目录 一、APP Bfast APP: [https://andreim.users.earthengine.app/view/bfastmonitor](https://andreim.users.earthengine.app/view/bfastmonitor)git…

C语言——通讯录管理系统

通讯录管理系统项目简介 功能说明 控制台黑窗口实现程序需要满足以下几个功能 程序开始运行时首先显示选择菜单界面,根据用户输入确定实现何种功能 程序界面 代码实现 多文件实现 和之前写的实战项目类似,这里同样采用多文件实现的方式 多文件写代码…

5G先锋开道,护航出行安全

“道路千万条,安全第一条”。 交通作为城市生命线“主动脉”,承载着助推经济发展的重要使命。构建“预、防、治”全周期交通管理,推进城市精细化管理刻不容缓。 为全面加强交通安全监管体系,天津某交管局决策对新区街道4000多个路…

计算机二级-简单应用题

题目要求 编写代码,以实现如下功能: 键盘输入小明学习的课程名称及考分等信息,信息间采用空格分隔,每个课程一行,空行回车结束录入,示例格式如下: 数学 90 语文 95 英语 86 物理 84 生物 87 屏幕…

(二)随机变量的数字特征:探索概率分布的关键指标

文章目录 🍋1. 随机变量的数学期望🍋1.1 离散型随机变量的数学期望🍋1.2 连续型随机变量的数学期望 🍋2. 随机变量函数的数学期望🍋2.1 一维随机变量函数的数学期望🍋2.2 二维随机变量函数的数学期望 &…

机器学习算法基础--逻辑回归

目录 1.数据收集及处理 2.数据提取及可视化 3.逻辑回归训练样本并且测试 4.绘制散点决策边界 逻辑回归的方法已经在数学建模里面讲过了,这里就不多讲了。 本篇我们主要是利用逻辑回归的方法来求解分类问题。 1.数据获取及处理 import pandas as pd from sklearn…

蓝桥杯2023年第十四届省赛真题-像素放置

目录 蓝桥杯2023年第十四届省赛真题-像素放置 题目描述 输入格式 输出格式 样例输入 样例输出 提示 【思路解析】 【代码实现】 大家觉得写得可以的话,可以加入QQ群907575059. 蓝桥杯2023年第十四届省赛真题-像素放置 时间限制: 3s 内存限制: 320MB 提交:…

QT--day3

2> 完成文本编辑器的保存工作 widget.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }void Widget::on_fontbtn_cl…

uniapp 实现不同用户展示不同的tabbar(底部导航栏)

一、背景 最近在做一个uniapp开发的小程序遇到一个需求,希望不同用户登录后展示不同的tabbar页面,但是uniapp项目中的pages.json是只有一个list数组的,并且是不能写成动态效果,为了实现这个需求,便自定义了tabbar组件 …

一文读懂SSL、TLS和mTLS的通信安全协议

今天让我们深入探讨一下SSL、TLS和mTLS等一系列重要的通信安全协议。尽管从整体系统设计的角度来看,这个主题可能并不是至关重要,但仍然值得我们深入了解。 1. SSL协议 SSL,即安全套接字层(Secure Socket Layer),是一种通信协议,旨在加密和保护互联网通信的安全性。虽…

从业二十年的测试工程师今天给大家分享postman的使用技巧以及快捷键的精髓

一、Postman是什么 Postman是chrome的一款插件,用于做接口请求测试,无论是前端,后台还是测试人员,都可以用postman来测试接口,用起来非常方便。 二、Postman安装 官网下载(FQ) Download Postman | Get Started for Free 三、Postman常用功能 安装好之后,我们先打开…

React(react18)中组件通信03——简单使用 Context 深层传递参数

React(react18)中组件通信03——简单使用 Context 深层传递参数 1. 前言1.1 React中组件通信的其他方式1.2 引出 Context 2. 简单例子3. 语法说明3.1 createContext(defaultValue)3.2 value3.3 useContext(SomeContext) 4. 总结4.1 Context4.1.1 Context…

【Java 基础篇】Java transient 关键字详解:对象序列化与非序列化字段

在 Java 编程中,我们经常需要将对象序列化为字节流以便于存储或传输,或者将字节流反序列化为对象以恢复其状态。然而,并不是所有对象的所有属性都应该被序列化。有些属性可能包含敏感信息,或者它们只在内存中有意义。在这些情况下…

每日练习-7

目录 一、选择题 二、算法题 1、两种排序方法 2、求最小公倍数 一、选择题 1、 解析: 指针和引用是C中两种不同的变量类型,它们都可以用来访问或修改其他变量的值,但是它们有以下几个区别: 引用必须在定义时初始化&#xff0c…

Terminnal will be login out after 20 second

锐捷交换机,命令敲着敲着 ,就提示20秒后将中断 ,show ip ssh 查看也一下也没有什么特殊的。 于是查看了一下VTY下的配置 absolute-timeout 5 ,这句话是什么意思呢 ? 5分钟强制退出 ! 改进方法: (config)#…

为什么企业要选择使用报修工单管理系统?

报修管理系统是一种强大的工具,它为企业提供了一种方便、高效的方式来报告设备故障和异常情况,以便及时地反馈给相关的人员。这种系统不仅可以帮助企业更好地管理和跟踪设备的维护和维修工作情况,还可以对所有的维修信息进行统计和分析&#…

天视通等小众冷门摄像机接入安防监控系统EasyCVR平台的常见兼容问题及解决方法

众所周知,视频监控系统EasyCVR安防视频综合管理平台支持多类型设备、多协议方式接入,包括市场主流标准协议国标GB28181、RTMP、RTSP/Onvif协议等,以及厂家私有协议,如海康SDK、大华SDK、海康Ehome等。平台可兼容市面上绝大多数品牌…

【Java】类和对象知识

类和对象的基础知识 命名规则 类名统一使用大驼峰方法和成员变量统一使用小驼峰 定义一个类的时候注意的事项 1. 一般一个文件当中只定义一个类2. main方法所在的类一般要使用public修饰(注意:Eclipse默认会在public修饰的类中找main方法)3. public修饰的类必须…