Websocket、SessionCookie、前端基础知识

news2024/7/6 18:37:32

目录

1.Websocket

Websocket与HTTP的介绍

不同使用场景

Websocket链接过程

2.Session&Cookie

Cookie的工作原理

Session的工作原理

区别

3.前端基础知识


1.Websocket

Websocket与HTTP的介绍

HTTP:

1.HTTP是单向的,客户端发送请求,服务器发送响应。每个HTTPHTTPS请求每次都会新建与服务器的连接,并且在获得响应后,连接将自行终止。 每个HTTP请求都会建立单独的TCP连接到服务器。

2.从 HTTP/1.1起,默认使用长连接,用以保持连接特性。使用长连接的HTTP协议,会在响应头有加入这个头部字段:Connection:keep-alive。在使用长连接的情况下,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。Keep-Alive不会永久保持连接,它有一个保持时间,可以在服务器中设定时间。

Websocket:

1.WebSocket是双向的,在客户端-服务器通信的场景中使用的全双工协议,与HTTP不同,它是一个有状态协议,这意味着客户端和服务器之间的连接将保持活动状态,直到被任何一方(客户端或服务器)终止。在通过客户端和服务器中的任何一方关闭连接之后,连接将从两端终止。

2.客户端-服务器进行握手随后创建一个新的连接,该连接将保持活动状态,直到被他们中的任何一方终止。建立连接并保持活动状态后,客户端和服务器将使用相同的连接通道进行通信,直到连接终止。

不同使用场景

WebSocket:需要通过网络传输的任何实时更新或连续数据流,则可以使用WebSocket

HTTP:不需要很频繁或仅获取一次的数据可以通过简单的HTTP请求查询

Websocket链接过程

先是HTTP协议进行三次握手;当握手成功后,一端发送的HTTP协议报文中包含协议升级成Websocket字段,另一端对结果进行响应;随后两个主机之间的链接协议就是Websocket了;之后主机间的链接为长链接会不断更新信息。

2.Session&Cookie

都是用来跟踪浏览器用户身份的会话方式

Cookie的工作原理

1.浏览器端先发送请求到服务器端
2.服务器端创建Cookie信息,此Cookie包含用户的信息(账号密码等),随后将该Cookie发送到浏览器端

3.浏览器端接收到Cookie后将所谓的Cookie文件保存到本地中
4.浏览器端再次访问服务器端时会携带服务器端创建的Cookie信息
5.服务器端得到Cookie消息,提取其中携带的数据来区分不同用户

Cookie的缺点:安全性无法体现,因为将所谓的Cookie消息发送给用户,中间可能会被截取,那么一旦中间人攻击后,只需要包含Cookie消息并且发送需要篡改的内容就可以实现数据的破坏。

Session的工作原理

1.浏览器端发送请求到服务器端,服务器端创建一个Session,同时会创建一个Cookie,此,Cookie的有效信息仅仅为创建的Session的ID,然后将该Cookie发送至浏览器端。将创造的Cookie和对应的Session一起存储。
2.浏览器端每次发送请求到服务器端,浏览器端访问服务器端时就会把Cookie对象传过去
3.服务器端根据通过Cookie提供的Session的ID的去查询Session对象,从而区分不同用户。
 

区别

1.cookie的数据存放在客户的本地文件中,session的数据存放在服务器
2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗。如果主要考虑到安全应当使用session
3.session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE
4.单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。
5.将登陆信息等重要信息存放为SESSION;其他信息如果需要保留,可以放在COOKIE中

3.前端基础知识

HTML:超文本标记语言,它定义了网页内容的含义和结构。HTML 使用“标记”(markup)来注明文本、图片和其他内容,以便于在 Web 浏览器中显示。


CSS:层叠样式表,CSS 描述了在屏幕、纸质、音频等其他媒体上的元素应该如何被渲染的问题。


vue.js: 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。

Ajax:Ajax其实就是浏览器与服务器之间的一种异步通信方式

异步的JavaScript:它可以异步地向服务器发送请求,在等待响应的过程中,不会阻塞当前页面,在这种情况下,浏览器可以做自己的事情。直到成功获取响应后,浏览器才开始处理响应数据。

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

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

相关文章

OWS.infg应用程序隐私政策

本软件尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本软件目前不会使用和披露您的个人信息。但本软件会不时更新本隐私权政策。您在同意本软件服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策…

OJ练习第154题——到家的最少跳跃次数

到家的最少跳跃次数 力扣链接:1654. 到家的最少跳跃次数 题目描述 有一只跳蚤的家在数轴上的位置 x 处。请你帮助它从位置 0 出发,到达它的家。 跳蚤跳跃的规则如下: 它可以 往前 跳恰好 a 个位置(即往右跳)。 它…

【数据结构】——查找、散列表的相关习题

目录 一、选择填空判断题题型一(顺序、二分查找的概念)题型二(分块查找的概念)题型三(关键字比较次数) 二、应用题题型一(二分查找判定树) 一、选择填空判断题 题型一(顺…

1、英飞凌-AURIX-TC297简介

目录 TC297简介TC297特点:系统优势最具创新性的安全应用场景 printf("欢迎关注公众号:Kevin的学习站/车载嵌入式探索者,博主建立了一个车规级开发交流群, 感兴趣的朋友可以关注公众号,加个人WX:_kevin…

医疗小程序:让服务更高效,用户体验更优化

随着移动互联网的快速发展,小程序已经成为了一个热门的开发方向。医疗健康类小程序也不例外,拥有广泛的市场需求和前景。本文将为你提供一份完整的医疗健康类小程序开发攻略,帮助你快速开发上线一个专业成熟的小程序商城。 一、选择合适的小程…

C++(17):异常处理

异常处理机制允许程序中独立开发的部分能够在运行时就出现的问题进行通信并做出相应的处理。 异常使得能够将问题的检测与解决过程分离开来:程序的一部分负责检测问题的出现,然后解决该问题的任务传递给程序的另一部分。检测环节无须知道问题处理模块的…

Android 音频框架 基于android 12

文章目录 前言音频服务audioserver音频数据链路hal 提供什么样的作用 前言 Android 的音频是一个相当复杂的部分。从应用到框架、hal、kernel、最后到硬件,每个部分的知识点都相当的多。而android 这部分代码在版本之间改动很大、其中充斥着各种workaround的处理&a…

AI能完全取代PS吗?两者僵持背后的设计思路!

PS 是功能强大的位图图片处理软件。它的核心功能是图片处理,最大特点是放大图片时会出现马赛克模糊。PS 存在下载安装复杂,功能繁杂,新手不易上手等缺点。越来越多设计师更青睐轻量级的协作设计软件,例如新一代国产软件即时设计。…

openCV实战-系列教程11:文档扫描OCR识别上(轮廓检测/轮廓近似/透视变换/OCR识别)项目实战、源码解读

🧡💛💚💙💜OpenCV实战系列总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 下篇内容: openCV实战-系列教程13:文档扫描OCR识别下&am…

李跳跳下载-《告别广告困扰,让李跳跳助力打造清爽浏览体验》

大家好,👋今天我想向大家介绍一款非常好用的应用程序——李跳跳 App 🚀。 随着智能手机的普及,应用程序已经成为了我们日常生活中必不可少的一部分。但是,随之而来的是各种各样的广告,这些广告不仅浪费我们…

【C++】输入输出及格式控制

在各类算法竞赛和机试中,对测试数据和输出格式往往会有明确的规定,笔者结合个人刷题经历,得到了以下C语言输入输出控制的方法。 cin:从缓冲区中读取数据 cin>>从缓冲区中读取数据时,若缓冲区中第一个字符是空格…

PXE网络批量装机

目录 一、什么是PXE? 二、PXE(Preboot Execution Environment)的主要组件 1、PXE服务器(PXE Server) 2、DHCP服务器(Dynamic Host Configuration Protocol Server) 3、TFTP服务器&#xff…

信号完整性分析基础知识之有损传输线、上升时间衰减和材料特性(四):有损传输线建模

传输线中信号衰减的两个损耗过程是通过信号和返回路径导体的串联电阻以及通过有损耗介电材料的分流电阻。这两个电阻器的电阻都与频率相关。 值得注意的是,理想电阻器的电阻随频率恒定。我们已经证明,在理想的有损传输线中,用于描述损耗的两个…

CAD 中Spline(样条曲线)的创建

我把自己研究的流程留下,读者需慢慢探索: Polyline pl new Polyline(); pl.AddVertexAt(0, new Point2d(2, 2), 0, 0, 0); pl.AddVertexAt(1, new Point2d(5, 5), 0, 0, 0); pl.AddVertexAt(2, new Point2d(10, 3), 0, 0, 0); pl.AddVertexAt(3, new Point2d(15, …

uniapp 布局(自定义导航栏加固定高度的主要内容)

不想让整体页面出现滚动条 页面大致分为三部分,导航栏、主题内容、tabbar,不想让整个页面出现滚动条,只想让主要内容滚动。 我这里是直接用了uni.getSystemInfoSync(),整体分为两部分,自定义头部和滚动内容&#xff…

UE5- c++ websocket客户端写法

# 实现目标 ue5 c 实现socket客户端,读取服务端数据,并进行解析 #实现步骤 {projectName}.Build.cs里增加 "WebSockets","JsonUtilities", "Json"配置信息,最终输出如下: using UnrealBuildTool;…

【SpringSecurity】九、Base64与JWT

文章目录 1、base64编码2、Base64Url3、JWT的产生背景4、JWT介绍5、JWT组成5.1 Header5.2 Payload5.3 Signature 6、JWT的使用方式7、JWT的几个特点 1、base64编码 base64是一种编码方式,不是加密方式。 所谓Base64,就是说选出64个字符:小写…

LNMP 平台搭建(四十)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 搭建LNMP 一、安装Nginx 二、安装Mysql 三、安装PHP 四、部署应用 前言 LNMP平台指的是将Linux、Nginx、MySQL和PHP(或者其他的编程语言,如…

【Apollo学习笔记】——规划模块TASK之SPEED_BOUNDS_PRIORI_DECIDER

文章目录 前言SPEED_BOUNDS_PRIORI_DECIDER功能简介SPEED_BOUNDS_PRIORI_DECIDER相关配置SPEED_BOUNDS_PRIORI_DECIDER流程将障碍物映射到ST图中ComputeSTBoundary(PathDecision* path_decision)ComputeSTBoundary(Obstacle* obstacle)GetOverlapBoundaryPointsComputeSTBounda…

视觉化洞察:为什么我们需要数据可视化?

为什么我们需要数据可视化?这个问题在信息时代变得愈发重要。数据,如今已成为生活的一部分,我们每天都在产生大量的数据,从社交媒体到购物记录,从健康数据到工作表现,数据无处不在。然而,数据本…