【编程入门】HTTP vs HTTPS - 黑客不能知道的秘密 - 有了"它"黑客也拿"它"没办法!

我们每天使用互联网社交,看视频和网购,有没有想过究竟我们上传的照片和视频,还有网购下的单是怎么从手机电脑发出去的? 黑客无所不在,互联网是怎么保护我们不被黑客拦截窃取我们的敏感信息? 请收看这期视频,我会一一为你解答!

https://youtu.be/sIn-18N7qWI




☕ ☕ ☕ 给我买杯咖啡提提神吧! ✅ https://bit.ly/3kCOpFK ✅ (免费) JavaScript教程系列: https://bit.ly/310cHle ✅ 更多精彩的JavaScript入门课程: http://bit.ly/js-for-beginners ✅ JavaScript相关书籍: 1:The Definitive Guide: Master the World's Most-Used Programming Language - 7th Edition (强烈推荐👍) https://amzn.to/31s30uH ✅(通告)”Codetisan 自学编程社区“ 已经正式开通啦,三人行必有我师,同学们再也不用独自一人闷头自学编程了,快去社区里和其他小伙伴们互动吧! ▶︎ https://bit.ly/2AHylzN 🔆订阅我的YouTube频道,让你从一个0基础编程的菜鸟快速成为编程大师!🔆 http://bit.ly/2TBkXo1 ▶︎ 文轩解码更精彩的平台 ◀︎ ‣‣ Blogger :https://bit.ly/2yMz0PC ‣‣ Twitter: https://bit.ly/2R74FS1 ‣‣ Facebook: https://bit.ly/35crcmz ‣‣ Instagram: https://bit.ly/2KH6Wjw ‣‣ Github: https://bit.ly/2SHtsx4

文字内容: 

我们每天使用互联网社交,看视频还有网购
那你们有没有想过究竟我们上传的视频和照片
是怎么从手机或者电脑发出去?
大家好,我是文轩,欢迎收看文轩解码
大家都知道上网首先需要连上无线网
然后才可以上各种社交网站,网购和追剧
每天有大量的3C产品和网络服务器交换数据
这些数据可以是你提交的信用卡信息
YouTube视频或者微信聊天记录
我们可以把互联网想象成一条高速公路
路上有各种各样的交通工具在行驶
为了让交通更加顺畅和安全
所有在高速公路行驶的交通工具都必须准守交通规则
在互联网的世界里,如果我们想上传照片或者视频
3C产品就必需遵守特定的传输协议,而这个传输协议就是HTTP
当然,HTTP和我们现实生活里的交通规则不一样
里面更多的是关于通信细节和规则
这期视频除了介绍HTTP,我还会在后面说说什么是HTTPS
所以希望能你留守到最后,看看为什么你提交的支付信息
不会在传输途中被黑客拦截窃听
HTTP是HyperText Transfer Protocol的缩写
中文翻译是超文本传输协议
它是由一名叫Tim Bernes Lee的英国学者发明
同时他也是万维网World Wide Web (WWW) 的发明者
万维网 (World Wide Web) 和 HTTP有着密切的关系
万维网 (World Wide Web) 发源于日内瓦欧洲核子研究中心CERN
是由数量庞大的网站和网页组成的信息系统 (Information System)
实际上,它也是一个多媒体内容的集合
万维网上所有的网页都是使用HTML
把信息组织成图文并茂的超文本(Hypertext)
然后这些网页由超链接 (Hyperlink) 连接而成
用户利用超链接从一个网站跳到另外一个网站
正是万维网 (World Wide Web) 技术的出现
使互联网能以超乎想象的速度发展
在Web 1.0的年代,用户大部分是单向的从网站里获取内容
简单的HTTP协议已经足够
随着互联网的普及和Web 2.0的诞生 
用户和网络服务器的交互也变得多样化
截至目前为止,HTTP作为万维网通信协议的基础
已经历过五代的更迭,最新版本为HTTP 3.0
HTTP是基于客户端-服务端模式 (Client-Server model)
下面我们就来说说典型的客户端服务端通信流程
首先,客户端和网络服务器 (Web Server) 建立一条TCP连接
在使用TCP连接时,网络服务器需要监听默认的80号端口 (port 80)
以便处理客户端发送的HTTP请求
连接成功后,客户端向网络服务器发送请求 (Request) 
HTTP请求是由三个部分组成,请求行,头部和主体内容
举个例子,如果我们想浏览shop.com的产品页面
就需要在浏览器里输入www.shop.com/product.html 
当我们按下Enter键,浏览器就会向shop.com服务器
发送类似这样的HTTP请求
要注意第四行是空行,是用来区分头部和主体内容
第一行,请求行,分成三个部分
这是请求方法 (Request Method)
这是文档路径(Path)
这是HTTP协议版本 (Protocol Version)
第二和第三行是头部,是客户端为服务器提供关于所需数据的信息
HTTP请求方法一共有九个,用得最多的是GET和POST
如果客户端只需要读取数据,发送GET请求就可以了
但是,如果客户端需要提交一个表单 (Form),就需要发送POST请求
意思就是让服务器处理客户端提交的表单数据
这是POST请求的例子
这是请求行
这是头部
这是提交表单的数据
网络服务器在80号端口接收请求
并根据HTTP请求 (Request) 返回对应的内容作为HTTP响应 (Response)
HTTP响应也是由三个部分组成,状态行,头部和主体内容
根据之前发送的HTTP请求,网络服务器会返回一个产品页面
这是HTTP响应的例子
第一行,状态行,分成三个部分
这是协议版本
这是响应状态代码
这是状态描述
响应状态代码有五大类
信息类,成功类,重定向类,客户端错误类,服务端错误类
我们常见的404页面不存在错误,是属于客户端错误
一般正常运行的页面都会返回200状态代码
第二行至第六行是头部
是服务器为客户端提供关于返回数据的一些信息
比如数据大小或者数据类型
第七行是空行,专门用来分开头部和主体内容
第八行至第十行则是网络服务器返回的网页内容
客户端会根据这些返回的内容处理并显示
当一个请求响应周期完成后,客户端和服务器会关闭TCP连接
从 HTTP/1.1 开始
客户端就不需要在完成一个请求响应周期后直接关闭TCP连接
客户端可以在完成一个周期后
持续的向服务器发送请求
不需要重新建立TCP连接
HTTP是一种无状态协议 (Stateless Protocol)
服务器不保留与客户端交互时的任何状态
这大大减轻了服务器的负担, 从而保持高效的响应速度
从客户端发送HTTP请求
传输途中会经过互联网和无数个服务器
最终才能抵达指定网络服务器
HTTP协议只能以明文 (Plain Text) 的方式发送请求
请求数据有可能在途中遭黑客拦截
一旦拦截成功,黑客就能分析请求数据
提取像信用卡,身份证等个人信息
黑客不但能提取这些敏感信息
还能对数据进行篡改,然后才发给网络服务器
HTTP虽然被广泛使用
却存在安全缺陷,导致敏感信息泄露
为了解决这个安全缺陷,HTTPS在1994年问世
HTTPS是HyperText Transfer Protocol Secure的缩写
中文翻译是超文本传输安全协议
也有人称他为HTTP over TLS (Transport Layer Security)
HTTPS利用TLS 技术对请求数据进行加密
防止黑客在传输过程中非法窃听和截取敏感信息
HTTPS设计目标主要有三个
数据保密性
请求数据在发送前被加密,保证加密数据 (密文 - Encrypted Text) 
在传输过程中不会被黑客查看
数据完整性
如果黑客拦截并篡改请求密文
可以及时发现是否被篡改
身份校验
客户端和网络服务器互相验证对方
身份校验能保证客户端发送的请求密文安全抵达指定服务器
这样能防止黑客把请求密文发给黑客自己的服务器
HTTPS默认服务端口是443,和HTTP的服务端口不一样
所有加密的HTTP请求必须发送到443端口
这样网络服务器才可以解密和处理这些密文
如果我们浏览的网站能看到锁头的图标
那就代表浏览器和网站之间通信已经加密
防止黑客窃取我们的信息
如果浏览的网站出现这个页面
就代表浏览器和网站之间的通信不安全
黑客很可能会拦截并篡改我们互传的信息
遇到这种情况,建议返回之前的页面, 不要继续前进
HTTPS是目前互联网最安全的通信协议
但是,随着计算机的运算能力越来越强大
HTTPS的加密算法也会随着时间的推移慢慢被破解
量子计算机 (Quantum Computer) 的运算能力
已经超越现有的超级计算机 (SuperComputer)
量子计算机在执行某个任务的时候
只需花200秒就可以完成超级计算机1万年的运算
虽然量子计算机还处于研发的阶段,离商业化还有一段时间
但针对量子计算机的加密算法其实已经展开
加密, 就是算法和运算能力的较量,会一直迭代
确保即便拥有强大的运算能力也不能将密文破解
希望这个视频能帮你了解HTTP和HTTPS的区别
让以后可以更安心的网购和网聊
再也不用担心黑客窃听我们收发的信息
但是,如果你是连接咖啡店的免费WIFI
还是不太建议你发送敏感信息,可以改用手机网络发送
今天视频就到这里,记得关注和打开小铃铛
我们下期见,拜拜!


服务器托管 Server Hosting/SSL/TLS cert : https://bit.ly/2zfucTc (只需每月RM16起,就能拥有属于自己的网站) 🔆订阅我的YouTube频道,让你从一个0基础编程的菜鸟快速成为编程大师!🔆 http://bit.ly/2TBkXo1 ▶︎ 文轩解码更精彩的平台 ◀︎ ‣‣ Blogger :https://bit.ly/2yMz0PC ‣‣ Twitter: https://bit.ly/2R74FS1 ‣‣ Facebook: https://bit.ly/35crcmz ‣‣ Instagram: https://bit.ly/2KH6Wjw #http #https #encryption #编程入门 #ssl #tls

Comments

Popular posts from this blog

【编程入门】使用 HTML CSS 制作登录页面 (零基础菜鸟必看) | How to create a login form in html css

怎么制作网页?仅使用html css制作你人生第一个专属网页 (免费网页设计教程) | How to create a website for free | 网页编程系列 第1集

2021 網頁編程自學小白要怎麼學才能真真快速入門編程? (內附路線圖+ 3個王牌技能) | Web Development Roadmap For Beginners 2021