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

http相关知识点

文章目录

  • 长链接
  • http周边会话保持
    • 方案1
    • 方案2
  • 基本工具
    • postman
    • Fiddler
      • Fiddler的原理

长链接

一张网页实际上可能会有多种元素组成,这也就说明了网页需要多次的http请求。可由于http是基于TCP的,而TCP创建链接是有代价的,因此频繁的创建链接会导致效率降低

为了防止这种情况,就需要两端主机都具备支持长连接的功能,将大份的资源使用一条链接就包含,也就是说这种通过一条链接去包含绝大部分资源的方式就是长链接

在请求报头里有一条属性:Connection

如果将其设为Connection: keep-alive就代表着支持长链接,如果设为Connection: close就代表关闭长链接

http周边会话保持

在使用浏览器访问某个网站时可以发现,如果在该网站登录过一次,之后每一次打开这个网站都会自动登录不再需要操作登录。这其实就是会话保持。会话保持也就是按照自己的身份进行随意访问

需要注意:http并不是天然具备会话保持的,因为http协议是无状态的

对于网页跳转而言,一旦发生那么新的页面就无法识别是哪一个用户了,为了方便用户的需求,就需要有会话保持的这个技术。

实现这个技术可以有几种方案:

方案1

当用户在浏览器中登录时,浏览器自动的将登录的信息保存起来,例如用户名和密码。往后只要访问同一个网站,浏览器就会自动将历史保留信息推送出来。

用于保存登录信息的文件就叫做cookie文件。但是这种方案存在这较大风险,如果浏览器中被植入了某种木马,某些不法之徒就会将cookie文件窃取到,从而使用户的信息泄露。服务器只会识别登录信息,就会导致非法用户使用登录信息进行登录。这种行为不仅对个人的危害极大,对社会的危害更大,切不可有这种行为

方案2

方案1是将信息保存到客户端也就是浏览器,方案2的思想是将信息保存到服务器端。

用户在第一次登录时,传递了信息给服务器后,服务器自动形成一个用户的认证信息,并创建一个session文件,将用户的登录信息保存到这个文件里。等服务器处理完请求后,发送响应回去给浏览器同时也将session文件的id发送给浏览器,这个session id用来标识session文件的唯一性。等下次用户再访问网站时,浏览器会将session id传递给服务器,服务器根据session id找到唯一的session文件从而实现自动登录。

但是这种方案也并不是绝对安全的,不法之徒同样可以窃取到session id去非法访问服务器,这时候就需要配合其他的策略去缓解该类问题。主要的想法就是使session id失效,例如在不同的地区登录后,识别到异地就可以使session id失效,就必须得重新登录。

基本工具

postman

下载链接:postman官网

postman可以模仿浏览器行为,像服务器发起请求。可以查看到网页源码等信息

image-20230809141043542

Fiddler

这是一个抓包工具,可以用来调试

image-20230809151059615

Fiddler的原理

image-20230809151504840

Fiddler实际上就是一种代理

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

相关文章:

  • 【SA8295P 源码分析】68 - Android 侧用户层 输入子系统获取 /dev/input/event0 节点数据 代码流程分析
  • 走出迷宫(多组输入bfs)
  • Linux系统编程-终端、进程组、会话
  • Linux部分文件操作记录
  • Android系统-进程-Binder2-Java层
  • 体渲染原理及WebGL实现【Volume Rendering】
  • VUE3组件
  • 【iOS】autoreleasepool
  • 0基础学习VR全景平台篇 第80篇:Insta360 影石如何直播推流
  • 大语言模型之三 InstructGPT训练过程
  • ChatGPT在自动化报告和数据分析中的应用如何?
  • 面试热题(三数之和)
  • 在idea运行python文件
  • SQL - limit
  • 11. Redis基础知识
  • list模拟实现【引入反向迭代器】
  • 【华为OD机试】字符串变换最小字符串【2023 B卷|100分】
  • ARTS 挑战打卡的第8天 ---volatile 关键字在MCU中的作用,四个实例讲解(Tips)
  • 第二课-一键安装SD-Stable Diffusion 教程
  • Vue3 动态列 <el-table-column> 实现 formatter 的两种方法
  • 室温超导是什么?有哪些应用场景?
  • Windows+VMware+Ubuntu+Anaconda+VMware Tools
  • Xray配置文件详解
  • flink优化
  • docker: ERROR: Couldn‘t connect to Docker daemon at http+docker://localhost
  • 大模型在金融医疗、生命系统和物理仿真领域的创新应用探索
  • tensorflow / tensorflow-gpu cuda cudNN tensorRT 安装,启用显卡加速
  • 计算机视觉中的Transformer
  • UVA-1601 万圣节后的早晨 题解答案代码 算法竞赛入门经典第二版
  • nacos 403错误