[网络]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时…

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

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

LCSS—最长回文子序列

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

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

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

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…

基于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)时或设置…

杂七杂八-系统环境安装

杂七杂八-系统&环境安装 1. 系统安装2. 环境安装 仅个人笔记使用,后续会根据自己遇到问题记录,感谢点赞关注 1. 系统安装 Windows安装linux子系统WSL2:使用windows系统跑linux程序(大模型)WSL VSCode:VSCode连接WSL实现高效…

就服务器而言,ARM架构与X86架构有什么区别?各自的优势在哪里?

一、服务器架构概述 在数字化时代,服务器架构至关重要。服务器是网络核心节点,存储、处理和提供数据与服务,是企业和组织信息化、数字化的关键基础设施。ARM 和 x86 架构为服务器领域两大主要架构,x86 架构服务器在市场占主导&…

学习之git的团队协作

git团队协作 一 团队内协作 生成SSH公钥私钥 一(跨团队协作)

jmeter之仅一次控制器

仅一次控制器作用: 不管线程组设置多少次循环,它下面的组件都只会执行一次 Tips:很多情况下需要登录才能访问其他接口,比如:商品列表、添加商品到购物车、购物车列表等,在多场景下,登录只需要…

【GBase 8c V5_3.0.0 分布式数据库常用维护命令】

一、查看数据库状态/检查(gbase用户) 1.gha_ctl monitor 使用gha_ctl monitor查看节点运行情况(跟dcs的地址和端口) gha_ctl monitor -c gbase -l http://172.20.10.8:2379 -Hall |coordinator | datanode | gtm | server|dcs:必选字段。指定查看哪类集…

程序员转行方向推荐

程序员转行方向推荐是一个涉及个人兴趣、技能匹配及市场需求等多方面因素的复杂话题。以下是一些详细的转行方向推荐,旨在帮助程序员在职业生涯中做出更加明智的选择。CSDN大礼包:《2024年最新全套学习资料包》免费分享 技术管理岗位 推荐理由&#xf…

崩坏星穹铁道PC端2.5版本剧情、奖励攻略 用GameViewer远程帮手机减负 随时畅玩星铁PC端

《崩坏:星穹铁道》2.5版本「碧羽飞黄射天狼」在9月10开启!上半卡池有五星角色飞霄、知更鸟、卡芙卡、黑天鹅四位角色,还有2.5版本的新剧情,这一次崩铁上线送10连和 1000星琼等其他材料。由于游戏包体过大,不少玩家都选…