[网络]http/https的简单认识

文章目录

  • 一. 什么是http
  • 二. http协议工作过程
  • 三. http协议格式
    • 1. 抓包工具fiddler
    • 2. http请求报文
    • 3. http响应报文

一. 什么是http

HTTP (全称为 “超⽂本传输协议”) 是⼀种应⽤⾮常⼴泛的 应⽤层协议
在这里插入图片描述
HTTP 诞⽣与1991年. ⽬前已经发展为最主流使⽤的⼀种应⽤层协议
HTTP 往往是基于传输层的 TCP 协议实现的. (HTTP1.0, HTTP1.1, HTTP2.0 均为TCP, HTTP3 基于UDP 实现)
⽬前我们主要使⽤的还是 HTTP1.1 和 HTTP2.0 . 借来的讲的 HTTP 以 1.1 版本为主
我们平时打开⼀个⽹站, 就是通过 HTTP 协议来传输数据的.
在这里插入图片描述
当我们在浏览器中输⼊⼀个 搜狗搜索的 “⽹址” (URL) 时, 浏览器就给搜狗的服务器发送了⼀个 HTTP请求, 搜狗的服务器返回了⼀个 HTTP 响应.
这个响应结果被浏览器解析之后, 就展⽰成我们看到的⻚⾯内容. (这个过程中浏览器可能会给服务器发送多个 HTTP 请求, 服务器会对应返回多个响应, 这些响应⾥就包含了⻚⾯ HTML, CSS, JavaScript, 图⽚, 字体等信息).
所谓 “超⽂本” 的含义, 就是传输的内容不仅仅是⽂本(⽐如 html, css 这个就是⽂本), 还可以是⼀些其他的资源, ⽐如图⽚, 视频, ⾳频等⼆进制的数据

二. http协议工作过程

当我们在浏览器中输⼊⼀个 “⽹址”, 此时浏览器就会给对应的服务器发送⼀个 HTTP 请求. 对⽅服务器收到这个请求之后, 经过计算处理, 就会返回⼀个 HTTP 响应.
在这里插入图片描述
http应用场景:

  1. 网页 -> 服务器 之间的交互
  2. 手机app -> 服务器 之间的交互
    但是在实际开发中, 不一定是真正直接使用http, 而是使用https, 本质上还是http, 但是引入了额外的加密层

三. http协议格式

1. 抓包工具fiddler

想要看到http请求或响应的, 可以通过’‘抓包工具’', 我们使用Fiddler来抓包
原理:
在这里插入图片描述

找到Fiddler的官网:
在这里插入图片描述
安装好后, 需要手动开启抓取https的功能

在这里插入图片描述
在这里插入图片描述
全部勾选上
打开就是这样的效果:
在这里插入图片描述

将左侧全选delete, 打开一个bing, 就可以看到左边:
在这里插入图片描述

这些结果都是浏览器打开bing网页的时候, 给bing发送的http/https的请求数据
浏览器http访问服务器, 往往不只发送一个请求, 很可能是发送了多个请求
我们需要关注的是蓝色的, 并且body这一列数据比较大的
蓝色的, 服务器返回的是html数据
黑色的, 返回的是普通的数据
还会有其他不同的颜色, 区分css, js, 图片
右上方, 是请求的详情, 选择Raw, 是http请求的原始数据
在这里插入图片描述
右下方, 是响应的详情, 选择Raw, 是http响应的原始数据
在这里插入图片描述
http是个文本协议, 但是如果需要返回的响应比较大, 就可能会需要把响应的数据压缩再返回
经过压缩, 相当于是用cpu资源, 置换带宽资源, 压缩以后的数据到达客户端, 再让客户端解压缩, 对于浏览器来说, 解压缩是自动完成的, 但是使用fiddler就需要手动的解压缩
点击在这里插入图片描述即可

2. http请求报文

在这里插入图片描述
点击可用记事本打开请求
在这里插入图片描述

分成4个部分
(下面只是简单熟悉, 下一篇会详细介绍)

  1. 首行
    首行包含三个部分, 用空格来区分
    a) 请求的方法
    在这里插入图片描述
    GET 就是要从服务器中获取某个数据
    b) 请求的URL
    在这里插入图片描述
    c) 版本号
    在这里插入图片描述

  2. 请求头header
    在这里插入图片描述
    header中是"键值对"结构, 每一行是一个键值对, 键和值之间, 使用 : 分割

  3. 空行
    最后一个header后面, 存在一个空行, 类似链表, 使用null作为结尾

  4. 正文body
    正文是可选的, 有些情况下有正文, 有些情况没有正文

3. http响应报文

同样分成4个部分
在这里插入图片描述

  1. 首行
    首行分成3个部分
    a) 版本号
    在这里插入图片描述
    b) 状态码
    在这里插入图片描述
    c) 状态码描述
    在这里插入图片描述
    这是一个成功的响应
  2. 响应的报头header
    在这里插入图片描述
  3. 空行
    最后一个header后面, 存在一个空行, 类似链表, 使用null作为结尾
  4. 正文
    在这里插入图片描述
    在这里插入图片描述

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

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

相关文章

FPGA实现串口升级及MultiBoot(四)MultiBoot简介

缩略词索引: K7:Kintex 7V7:Vertex 7A7:Artix 7 我们在正常升级的过程(只使用一个位流文件),假如:(1)因为干扰通信模块收到了一个错误位;(2)或者烧写进FLASH时…

Unity 编辑器设置中文

在 Unity 编辑器中,你可以按照以下步骤将语言设置为中文: 步骤: 1. 打开 Unity 编辑器。 2. 在顶部菜单栏,依次点击 Edit > Preferences(在 macOS 上是 Unity > Preferences)。 3. 在弹出的 Preferen…

《深度学习》—— 神经网络模型中的损失函数及正则化惩罚和梯度下降

文章目录 前言一、损失函数二、正则化惩罚三、梯度下降 前言 在神经网络中,损失函数、正则化惩罚和梯度下降是三个关键的概念,它们共同作用于网络的训练过程,以提升网络的性能和泛化能力。神经网络模型结构如下图所示: 在构建好一…

firewalld中ipset与zone的区别

Firewalld中的IP集(IP sets)和区域(zone)是两个不同的概念,它们有不同的作用和用途: IP集:IP集是一组IP地址的集合,可以将一组IP地址组织到一个IP集中。通过IP集,你可以更…

LCSS—最长回文子序列

思路分析 关于”回文串“的问题,是面试中常见的,本文提升难度,讲一讲”最长回文子序列“问题,题目很好理解: 输入一个字符串 s,请找出 s 中的最长回文子序列长度。 比如输入 s"aecda"&#xff0c…

R和Python数据格式的通用性

pkl是适用于python之间的传输; Rdata之类的只用于R之间的传输; 想将R中的数据输出,使的python易于读取: 优先选择的数据格式是Apache Arrow所定义的数据格式,即Parquet和Feather。 Parquet:Parquet 文件…

graphQL 参数使用报错问题

query{getMembers(sid:0,nodeId:"ns6;i7896"){methods} } //报错 "message": "Field \"methods\" of type \"[UaMethod]\" must have a selection of subfields. Did you mean \"methods { ... }\"?",这个错误信…

【AI-18】Adam和SGD优化算法比较

Adam(Adaptive Moment Estimation)和 SGD(Stochastic Gradient Descent,随机梯度下降)是两种常见的优化算法,它们在不同方面有各自的特点。 一、算法原理 SGD: 通过计算损失函数关于每个样本的…

docker安装 redis 并且加密开启SSL/TLS通道

拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/redis:latest docker tag registry.cn-hangzhou.aliyuncs.com/qiluo-images/redis:latest redis:latest要在 Docker 容器中启动 Redis 并开启 SSL/TLS 加密,需按照以下步骤修改启动命令和配置…

S7-1500T分布式同步功能

1. 功能描述工控人加入PLC工业自动化精英社群 在一些实际应用中,会需要很多轴进行同步运行,如印刷机、纸尿裤生产线等。由于一个 PLC 的运动控制资源有限,控制轴的数量也是有限的,就会需要多个 PLC 间协调实现轴工艺对象的跨CPU的…

k8s以及prometheus

#生成控制器文件并建立控制器 [rootk8s-master ~]# kubectl create deployment bwmis --image timinglee/myapp:v1 --replicas 2 --dry-runclient -o yaml > bwmis.yaml [rootk8s-master ~]# kubectl expose deployment bwmis --port 80 --target-port 80 --dry-runclient…

专题三_二分查找算法_算法详细总结

目录 二分查找 1.⼆分查找(easy) 1)朴素二分查找,就是设mid(leftright)/2,xnums[mid],t就是我们要找的值 2)二分查找就是要求保证数组有序的前提下才能进行。 3)细节问题: 总结&#xff1a…

数据分析-13-时间序列异常值检测的类型及常见的检测方法

参考时间序列异常值的分类及检测 参考异常值数据预警分析 1 时间序列异常的类型 时间序列异常检测是数据处理和分析的重要环节,广泛应用于量化交易、网络安全检测、自动驾驶汽车和大型工业设备日常维护等领域。在时间序列数据中,异常通常指的是与正常数据模式显著不同的数据…

基于SpringBoot+Vue+MySQL的招聘管理系统

系统展示 用户前台界面 管理员后台界面 企业后台界面 系统背景 在当今数字化转型的大潮中,企业对于高效、智能化的人力资源管理系统的需求日益增长。招聘作为人力资源管理的首要环节,其效率与效果直接影响到企业的人才储备与竞争力。因此,构建…

详解Diffusion扩散模型:理论、架构与实现

本文深入探讨了Diffusion扩散模型的概念、架构设计与算法实现,详细解析了模型的前向与逆向过程、编码器与解码器的设计、网络结构与训练过程,结合PyTorch代码示例,提供全面的技术指导。 关注TechLead,复旦AI博士,分享A…

宠物毛发对人体有什么危害?宠物空气净化器小米、希喂、352对比实测

作为一个呼吸科医生,我自己也养猫。软软糯糯的小猫咪谁不爱啊,在养猫的过程中除了欢乐外,也面临着一系列的麻烦,比如要忍耐猫猫拉粑粑臭、掉毛、容易带来细菌等等的问题。然而我发现,现在许多年轻人光顾着养猫快乐了&a…

Linux命令:用于应用补丁文件来更新源代码的工具patch详解

目录 一、概述 二、基本概念 1. 补丁文件 2. diff 工具 三、基本用法 1、基本语法 2、常用选项 3、获取帮助 四、patch 工具的主要功能 1. 应用补丁 2. 逆向应用补丁 3. 查看补丁内容 4. 交互模式 5. 非交互模式 6. 备份文件 五、patch基本用法举例 1、应用补…

动态规划:汉诺塔问题|循环汉诺塔

目录 1. 汉诺塔游戏简介 2.算法原理 3.循环汉诺塔 1. 汉诺塔游戏简介 汉诺塔游戏是一个经典的数学智力游戏,其目标是将塔上不同大小的圆盘全部移动到另一个塔上,且在移动过程中必须遵守以下规则: 每次只能移动一个圆盘较大的圆盘不能放在…

css百分比布局中height:100%不起作用

百分比布局时,我们有时候会遇到给高度 height 设置百分比后无效的情况,而宽度设置百分比却是正常的。 当为一个元素的高度设定为百分比高度时,是相对于父元素的高度来计算的。当没有给父元素设置高度(height)时或设置…

如何编写ChatGPT提示词

为ChatGPT编写有效的提示需要实施几个关键策略,以使文本到文本生成 AI 工具产生所需的输出。您可以使用 ChatGPT 提示(也称为 ChatGPT 命令)来增强您的工作或提高您在各个行业的表现。例如,营销人员可以提示 ChatGPT 为社交媒体帖…