热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

当您在网站上创建帐户时,真正发生了什么?

编码语言的简单介绍。斯坦利戴(StanleyDai)摄影认为编码不是一种技能,而是一种语言。本系列将解释一些与编码相关的关键字࿰

编码语言的简单介绍。

斯坦利·戴 ( Stanley Dai)摄影

认为编码不是一种技能,而是一种语言。 本系列将解释一些与编码相关的关键字,同时帮助您更好地了解与网站和应用程序交互时幕后发生的事情。

本系列的目的不是要教您如何编码,而是要教您编码的语言

我相信每个人都应该能够理解和说这种语言,即使他们最终不会编码。 无论您是从事产品,销售,市场营销,运营还是客户支持方面的工作,此帖子都适合那些希望开始学习更多信息的入门人员。

对于初学者来说,阅读技术文章时不熟悉的技术术语是一个常见的障碍。 如果您不熟悉法律术语等大型技术性词语,可能会令人生畏。 词汇表中以下定义的任何令人生畏的术语都将带有星号(*)。

每个人在某个时候都已采取的最重要的措施之一就是使用您的电子邮件和密码创建一个帐户。 今天,我想通过典型的电子邮件和密码注册向您介绍幕后的真实情况。 让我们探索吧!

创建帐户:

有一系列涉及前端*与后端*交互的操作。

步骤1: 检查您是否不存在

输入电子邮件和密码后,单击注册按钮时,输入的信息将首先作为请求发送给服务器*,以验证您的帐户是否存在。 如果是这样,那么您将被重定向到登录,而不是注册。

第2步: 安全地存储您的帐户详细信息

如果服务器*确认您尚未进入系统,则可以创建一个新帐户了! 在更高级别上,系统需要做的是将数据库存储在您的电子邮件和密码中,以便您进入自己的帐户。

但是,存在一个大问题-出于安全原因,密码无法以您键入方式存储在系统中-如果有人可以访问它们,则它们可能会冒充您。 它们必须在存储之前进行修改。 您可能输入了密码,例如“ drgkjlDKHKJ123”,但密码将以完全不同的方式存储在数据库中。 还记得Equifax数据泄露吗? 发生这种情况是因为敏感信息未安全存储。

修改过程如下所示:

首先,生成了一种称为salt的东西,它不过是一个随机字符串,通常将其混入您的密码中以提高安全性。 然后,整个字符串将被提取并通过算法。 此过程称为哈希 ,该算法称为哈希算法 。 假设您和您的朋友都使用相同的密码。 在哈希过程之前添加盐将确保哈希密码完全不同。 然后,将散列的密码,盐和您的电子邮件安全地存储在数据库中*。

需要注意的一件事是,一旦对密码进行哈希处理,这是一个不可逆的过程,因此您无法以原始形式将其取回。 如果您曾经在网站上经历过“忘记密码”流程,并且实际上通过电子邮件收到了原始密码,那么您现在知道该密码是不安全存储的,因为哈希是不可逆的过程。

步骤3:建立工作阶段和COOKIE

现在,服务器已准备好向前端发送信号,表明您已准备好登录。但是首先,它必须采取进一步的措施。 后端必须创建一个会话,然后发送令牌(可以使用一条信息代替用户名或密码来告诉系统它实际上是您)。 然后,令牌将存储在您的浏览器中的COOKIE中。 每当您访问该网站上的任何页面并登录时,该信息将用于验证您的身份。 那不是很酷吗? 会话也将到期。 因此,例如,如果我是第一次访问Groupon ,则将创建一个会话,例如30天。 在那30天内, Groupon会记住我的信息,此后信息将被删除,我将不得不再次登录。

这里要注意的一点是,COOKIE和会话是独立于登录过程创建的。 例如,如果您访问杂货店网站并在未登录的情况下将商品添加到购物篮中,或者如果您离开网站并在一定时间后返回,则仍然可以在其中看到它们。

这里需要注意的是,这是理想情况下应该发生的事情,但是有时网站不遵循它,这就是您的信息有被泄露的危险。

登录:

因此,现在让我们探讨登录系统的操作。

您输入电子邮件和密码,但是这次服务器必须验证电子邮件是否存在。 如果不是,则将您重定向到如上所述创建一个帐户。 如果是的话,此时输入的密码将经过上述修改步骤,然后与我们存储在数据库中的密码进行比较*。 如果相同,则您已通过身份验证。 如果没有,您将再次回到登录页面,并提示“忘记密码?”。 链接以及相同的登录表单。

记住登录信息:

如果您查看大多数Web表单*,则会看到“在此站点上记住我的密码”复选框。 如果您选中该复选框,则无需输入任何信息即可下次登录。

这是发生的情况:还记得您的浏览器现在如何在其中存储COOKIE *吗? 下次您访问该网站时,服务器实际上将在浏览器上请求该COOKIE *,以便它可以识别您并允许您进入。

术语表:

  1. 前端:

让我们以谷歌 - 谷歌的主页的前端是从字面上你所看到和互动与。 当您在Google中输入搜索内容时,所有操作都在前端进行。 前端通常连接到任何应用程序或网站中的后端*。

用法示例:

对于一个与用户互动非常频繁的网站,“前端很难构建。”

“当我在ipad上打开该网站的前端时,它没有响应-滚动时,它跳转到整个位置。”

2.后端:

后端在幕后工作,以便在与应用程序交互时使正确的事情发生。 前端*与后端进行通信,以在用户和界面之间创建有意义的交互。 如果您在Google (前端)中输入没有后端的搜索,那么实际的网站将无济于事。 后端是找到搜索结果的地方。

可以将其想像成前端接收到您想要做的事情,然后请求后端的系统提供适用的信息,即后端。

用法示例:

“我想要一个可以分析您所有Facebook墙上帖子的应用程序。 您认为该后端将花费多长时间?”

“该网站未处理我的付款请求。 似乎存在后端问题”。

3.表格:

表单是您在网上或应用程序中输入信息的任何位置。 例如,在表格中您可以在购买商品时输入运输信息,也可以在创建帐户时输入用户名和电子邮件。 顾名思义,表单验证是检查您输入的内容是否正确的过程。

用法示例:

“网络表单已损坏。 单击提交按钮没有任何反应。”

“我一定输入了错误的密码。 我不断收到表单验证错误。”

4.客户:

在现实生活中,客户就是为某些服务付费的人。 从技术上讲,当我们说客户端时,这就是您用来发出请求以连接到服务器的*。 因此,如果您在计算机上,并且正在通过浏览器键入网站地址,则浏览器就是客户端,这就是请求信息的原因。

用法示例:

“智能手机将网络客户带到了所有人的腰包,这是改变游戏规则的原因之一。”

“最好的电子邮件客户端是什么?” —转换为您用来发送电子邮件的内容。 (Mac的电子邮件应用程序或Outlook等)。

5.服务器:

服务器是机器上可以响应请求的一种软件。 即使这个词听起来确实令人生畏,但这就是它的全部。 因此,例如,当您在浏览器中键入Google.com时,浏览器知道向Google的服务器发出请求,而Google的服务器知道如何响应这样的请求,即为您提供Google主页。

这里要注意的一件事:由于服务器是知道如何响应请求的软件,因此任何计算机都可以是服务器,客户端或什至两者。 您可以编写代码,这样一来,您的计算机上就会运行本地服务器,同时还安装了一个浏览器,可以同时发出请求,并充当客户端。 那不是很有趣吗?

您可以提出什么要求? 从键入Google.com时请求首页到在Google中搜索内容时请求信息都可以。 因此,当我输入Google.com时 ,我希望显示Google主页。 当我在Google中键入一些信息时,我要求显示搜索结果。 这些是向Google服务器发出的不同类型的请求。 请求之后是响应,因此您通常会看到这些单词相互使用。

用法示例:

“您能想象亚马逊的服务器在网络星期一收到多少个请求吗?”

“服务器已关闭。” —当网站没有提供您想要的东西时,您会听到的最常见的声音:)

“服务器无法处理流量。” —通常是因为有很多人提出要求。

6.数据库:

数据库是网站或应用程序存储您以后希望检索的信息的地方。 例如,当您返回网站并输入用户名和密码之类的信息时,该信息必须存储在某处,因为您希望用户再次输入该信息。 该存储库就是数据库—它是以结构化方式存储的数据的集合,以后可以检索。

数据库的类型很多-您可能听说过一些数据库,例如SQL,Postgres和Mongo。

用法示例:

“图书馆员调查了数据库,并告诉我这本书已经存在。”

7. COOKIEs:

大多数网站都会在您的浏览器中存储称为COOKIE的信息,这些信息会在您访问服务器时让服务器知道您是谁。 如果不是使用COOKIE,则在您访问网站时也无法识别您的身份,也称为“ 无状态交易”。

您可以尝试-转到浏览器设置并清除COOKIE。 然后,访问您经常访问的网站,他们会要求您登录。

用法示例:

“我需要清除缓存中的COOKIE。”

“您可以尝试清除COOKIE然后刷新吗?” —有时,当您在页面上看到错误时,您可能会收到工程师的要求。

8.会议:

首次访问网站并创建帐户时,将创建一个会话。 会话只是给定网站可以识别您的持续时间,视网站而定。 因此,例如,当您在线向购物车中添加商品并离开网站时,即使您尚未创建帐户,回来后仍会在在线购物篮中找到它。 它不会永远存在。 如果两个月后回来,您可能会发现它为空,因为会话已过期。 创建会话后,它将获得一个ID,并将其发送到您的浏览器,该ID将其存储为COOKIE以标识您。

用法示例:

“我很高兴Instacart保留了我的会议,但我的购物车中仍然有所有物品。”

希望您喜欢这篇文章,并希望它使您对条款更加满意。 之所以需要适应这种语言,是因为软件越来越多地影响着我们生活的方方面面,这些术语将变得越来越普遍。 如果您从事技术工作,那么了解该语言就显得尤为重要-它不仅有助于您与工程师的交流,而且有助于您对正在发生的事情有更深入的了解。

在下一篇文章中,我们将介绍一些新术语,甚至还会重用其中的一些术语。 请发表评论,让我知道您将来希望看到的主题。 并且,一如既往,请喜欢并分享该文章!

感谢Brooke, Graham Erik 在发布前阅读草稿!

From: https://hackernoon.com/what-really-happens-when-you-create-an-account-on-a-website-1393ecef76de



推荐阅读
author-avatar
非得高档防水
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有