web | http 的一些问题 | get/post的区别 | http版本 | http与https的区别 | session、cookie、token

news2024/12/29 11:12:33

怎么来说呢?这应该算一个大类了,基本上设计网络的应用层
当然重要的是从网络层----->应用层 (杠精勿杠,知道中间还有其他层)

先来讲一下http的结构
都知道http 有三部分,头部、请求头和body
头部:请求方式(等下会介绍get/post)、url、http版本
\r\n
请求头部:包括body数据类型(有的是压缩文件、文本文件(json格式、xml格式))、语言、token、主机信息(用户代理,浏览器身份识别器)
body

接下来将一下get/post的区别

首先从url开始说起,都知道get 会把用户的信息啥的都暴露在url上,所以,这也隐含了其他信息,就是get 的url只支持ASCII文件格式(如果是中文需要curl转码),然后长度方面get 有限制(好像是256?)然后post没有限制、get不支持复杂加密,post支持。所以对于表单这种信息密度贼高而且贼重要的数据就是采用post方式提交了啊(数据都放在body)
然后get方法具有幂等性,而post不具备。什么是幂等性呢?就是同样的请求被执行一次与被执行多次的效果是一样的,服务器的状态也是一样的。(也就是说幂等方式之后不应该有副作用)
然后还有一个要注意的就是,posto会发送两次tcp数据包,这也跟浏览器有关。
比如使用xml 的post响应,浏览器会先发送头部再发送数据,但是有的浏览起不会,比如火狐。
在这里插入图片描述
讲到这里,接下来就要讲http 的长连接与短连接,对于正常流程来说(因为是基于tcp通信,所以要先三次握手,再发送数据,数据发送完了,就要四次挥手)
但是有时候根据发送的数据类型,有的是单次的,有的是多次高频,密度贼高,向包含多媒体的资源,除了请求访问的页面资源还有请求多媒体的资源,这个过程就需要发送多个http请求,假如是每次发送一条数据就三次握手、四次挥手,就会造成服务器压力过高,这当然也就是我们常说的短连接。
对于上面的业务需求,就需要使用长连接,而什么长连接呢?就是在三次握手建立通信之后,把数据一次性全部发送出去,然后再四次挥手断开连接。
需要注意:http/1.0之前默认的都是短连接,如果需要使用长连接需要设置为Connection:Keep-Alive,而在http/1.0之后都是默认的都是长连接,度过需要断开连接,需要客户端或者服务器端提出断开,然后首部为:Connection:close
接下来要讲一下cookie和session

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

再讲一下https中的s
因为http是不安全的协议,为什么?你用抓包工具抓包看一下,数据全部公开!
然后 s 表示的是安全嘛
那如何保证数据的安全?
加密嘛,怎么加密,其实也是采用了ssl ssh 那套加密逻辑,服务器先发公钥,客户端通过公钥,但是如果中间有一个主机监听,相当于转发器,然后它也可以自然的获得公钥,然后采用同样的方式获得加密、解密。所以这时候就出来了一个数字证书。服务器先向数字证书机构申请数字证书,然后数字证书机构对数据做签名,将数据和数字签名打包一起做成数字证书发送服务端,在https通信的时,服务器会把数字证书发送给客户端。客户端获取数据和数字签名,使用数字证书机构公开的密钥验证数据和签名是否合法。
还有一点要注意哈,也不是大问题,就是,http 采用的是80端口,而https采用的是443端口

ps:现在的博客,很多都是乱七八糟,而且很多都是cv工程师,再一个可靠性也要打一个问号?这当然也是对入门的新手劝退教学吧!其实有时候特别想问这些人?你们发文章、写博客就不动脑子想一下,然后就直接cv发表吗?重点是全是标题党!
当然,也有一些写的很好的博客。

token–参考这篇

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

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

相关文章

51单片机基础篇系列-点亮一个LED发光管基础知识搭建

🌈个人主页: 会编辑的果子君 💫个人格言:“成为自己未来的主人~” LED发光二极管 它是半导体二极管的一种,可以把电能转化成光能,常简写为LED,发光二极管与普通二极管一样是由一个PN结组成,也具有单向…

Jenkins Pipeline实现Golang项目的CI/CD

Jenkins Pipeline实现Golang项目的CI/CD 背景 最近新增了一个Golang实现的项目,需要接入到现有的流水线架构中。 流程图 这边流程和之前我写过的一篇《基于Jenkins实现的CI/CD方案》差不多,不一样的是构建现在是手动触发的,没有配置webho…

dolphin schedulerAPI调用(二)——创建任务

(作者:陈玓玏) API文档地址:http://192.168.3.100:21583/dolphinscheduler/swagger-ui/index.html?languagezh_CN&langcn#/task%20definition%20related%20operation/createTaskDefinitionUsingPOST_1 实际使用中&#x…

微信小程序H5设置全局弹窗

微信小程序&H5设置全局弹窗 微信小程序&H5设置全局弹窗效果图1、下载所需库2、创建vue.config.js 文件3、创建全局公告组件头部公告组件弹窗公告组件4、组件注册到全局5、在pages.json文件中配置 insetLoader6、H5需要额外使用render.js7、全局调用(一进入页面就获取弹…

Elasticsearch:使用标记修剪提高文本扩展性能

作者:来自 Elastic Kathleen DeRusso 本博客讨论了 ELSER 性能的令人兴奋的新增强功能,该增强功能即将在 Elasticsearch 的下一版本中推出! 标记(token)修剪背后的策略 我们已经详细讨论了 Elasticsearch 中的词汇和…

《系统架构设计师教程(第2版)》第6章-数据库设计基础知识-02-关系数据库

文章目录 1. 基本概念1.1 基本术语属性 (Attribute)域 (Domain)元数(Arity) / 目 (Cardinality)/ 度 (Degree)元组候选码 (Candidate Key)主码 (Primary Key)主属性 (Prime Attribute)外码 (Foreign Key)全码 (All-key)笛卡尔积 1…

大数据队列Kafka

了解什么是kafka之前,首先要了解一下什么是消息队列 一丶kafka的基本概述 消息队列:MQ介绍 定义 官方定义:消息队列是一种异步的服务间通信方式,是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题,实现高性能,高可用,可伸…

WPF 中集合 ObservableCollection<T>的使用

C#集合类ObservableCollection<T> 类似于泛型列表类List<T>&#xff0c;表示一个动态数据收集&#xff0c;该集合在添加或删除项或刷新整个列表时提供通知。 所在命名空间&#xff1a;System.Collections.ObjectModel 继承关系&#xff1a; public class Observ…

SQL 多表查询

文章目录 多表查询的分类等值连接非等值连接自连接非自连接内连接外连接左外连接右外连接满外连接 SQL连接 JOINSQL99 语法新特性 自然连接 NATURAL JOIN & USING 多表查询的分类 等值连接 VS 非等值连接自连接 VS 非自连接内连接 VS 外连接 等值连接 关联的表有连接字段…

2.4_4 死锁的检测和解除

文章目录 2.4_4 死锁的检测和解除&#xff08;一&#xff09;死锁的检测&#xff08;二&#xff09;死锁的解除 总结 2.4_4 死锁的检测和解除 如果系统中既不采取预防死锁的措施&#xff0c;也不采取避免死锁的措施&#xff0c;系统就很可能发生死锁。在这种情况下&#xff0c;…

CrossOver24软件免费电脑虚拟机,快速在Mac和Linux上运行Windows软件

当然&#xff0c;除了之前提到的核心技术、兼容性和性能优化外&#xff0c;CrossOver2024还具有其他一些值得关注的性能特点&#xff1a; CrossOver Mac-安装包下载如下&#xff1a;https://wm.makeding.com/iclk/?zoneid50028 CrossOver linux-安装包下载如下&#xff1a;ht…

信息系统项目管理师--质量管理

国际标准化组织(ISo) 对质量 (Quality) 的定义是:“反映实体满⾜主体明确和隐含需求的能⼒的特性总和”。 国家标准对质量的定义为:“⼀组固有特性满⾜要求的程度”。固有特性是指在某事或某物中本来就有的, 尤其是那种永久的可区分的特征。对产品来说, 例如⽔泥的化学成分、强…

设计模式九:装饰器模式

文章目录 1、装饰器模式2、示例3、装饰器模式与适配器模式4、装饰器模式和代理模式5、java io流的装饰器模式 1、装饰器模式 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其结构。这种类型的设计模式属于结构…

大数据开发-Hive介绍以及安装配置

文章目录 数据库和数据仓库的区别Hive安装配置Hive使用方式Hive日志配置 数据库和数据仓库的区别 数据库&#xff1a;传统的关系型数据库主要应用在基本的事务处理&#xff0c;比如交易&#xff0c;支持增删改查数据仓库&#xff1a;主要做一些复杂的分析操作&#xff0c;侧重…

WPF(2)命令绑定

效果是&#xff1a;当TextBox控件的Text属性为空时show按钮不可用&#xff0c;有值时show按钮可用 项目结构 界面代码 <Window x:Class"WpfApp1.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://sc…

普发Pfeiffer Prisma QMS200四极质谱计内部电路图装配3D图电路板接口详细注解

普发Pfeiffer Prisma QMS200四极质谱计内部电路图装配3D图电路板接口详细注解

面向对象(精髓)变继承关系为组和关系(_Decorator模式)

在软件开发中&#xff0c;设计模式是解决常见问题的可重用解决方案。在面向对象编程中&#xff0c;继承和组合是两种常用的代码复用方式。然而&#xff0c;随着软件需求的不断变化&#xff0c;我们需要更灵活的设计方式来应对不断变化的需求。在本文中&#xff0c;我们将讨论从…

全面的 DevSecOps 指南:有效保护 CI/CD 管道的关键注意事项

数字化转型时代带来了对更快、更高效、更安全的软件开发流程的需求。DevSecOps&#xff1a;一种将安全实践集成到 DevOps 流程中的理念&#xff0c;旨在将安全性嵌入到开发生命周期的每个阶段 - 从代码编写到生产中的应用程序部署。DevSecOps 的结合可以带来许多好处&#xff0…

程序人生 - 爬虫者,教育也!

作为一个站长&#xff0c;你是不是对爬虫不胜其烦&#xff1f;爬虫天天来爬&#xff0c;速度又快&#xff0c;频率又高&#xff0c;服务器的大量资源被白白浪费。 看这篇文章的你有福了&#xff0c;我们今天一起来报复一下爬虫&#xff0c;直接把爬虫的服务器给干死机。 本文有…

RStudio更换R语言版本

今天下载R语言用于读取.xlsx文件的readxl包时&#xff0c;RStudio提示该包是使用R-4.3.3版本构建&#xff0c;而我现在使用的是R-4.3.2版本&#xff0c;所以需要升级一下R语言版本&#xff0c;这里先下载最新版本的R语言&#xff0c; 下载地址&#xff1a;The Comprehensive R…