Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

说说你对http和https的理解 #7

Open
artdong opened this issue Jul 12, 2019 · 1 comment
Open

说说你对http和https的理解 #7

artdong opened this issue Jul 12, 2019 · 1 comment
Labels
http http

Comments

@artdong
Copy link
Collaborator

artdong commented Jul 12, 2019

说说你对http和https的理解

@artdong artdong added the http http label Jul 12, 2019
@artdong artdong added this to todo in fe-interview Jul 26, 2019
@artdong
Copy link
Collaborator Author

artdong commented Jul 26, 2019

什么是HTTP?

超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。

什么是HTTPS?

HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。

PS:TLS是传输层加密协议,前身是SSL协议,由网景公司1995年发布,有时候两者不区分。

什么是TLS/SSL?

TLS/SSL全称安全传输层协议Transport Layer Security, 是介于TCP和HTTP之间的一层安全协议,不影响原有的TCP协议和HTTP协议,所以使用HTTPS基本上不需要对HTTP页面进行太多的改造。

SSL有三种不同类型,需要了解下:

  • 扩展验证型(EV)SSL证书,适用于大企业,像银行,证券网站都会使用这个证书,信任等级,安全等级是最高的。

  • 组织验证型(OV)SSL证书,适用于企业网站,需要验证企业身份,安全等级比DV高些

  • 域名验证型(DV)SSL证书 ,适用于个人网站,一般验证下网站信息就可以通过,很多免费版本

如果获取SSL证书?

一般分为三种价位的:贵的,便宜的,免费的

  • 贵的(上千甚至上万的价):Symantec、globalsign、comodo、geotrust,除非大企业需要,中小企业网站没必要购买

  • 便宜的(大概50美元上下):godday,RapaidSSL,Comodo positiveSSL

  • 免费的:Let's Encrypt(比较推荐),Wosign,GlobeSSL

HTTP特点

  • 支持客户/服务器模式。(C/S模式)

  • 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

  • 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

  • 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

  • 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快

HTTPS特点

  • 内容加密:采用混合加密技术,中间者无法直接查看明文内容

  • 验证身份:通过证书认证客户端访问的是自己的服务器

  • 保护数据完整性:防止传输的内容被中间人冒充或者篡改

HTTPS和HTTP的区别主要如下:

  • HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头

  • HTTP 是不安全的,而 HTTPS 是安全的

  • HTTP 标准端口是80 ,而 HTTPS 的标准端口是443

  • HTTP 无法加密,而HTTPS 对传输的数据进行加密

  • HTTP无需证书,而HTTPS 需要CA机构(如Wosign)的颁发的SSL证书

总结

HTTP + 加密 + 认证 + 完整性保护 = HTTPS

@artdong artdong moved this from To do to In progress in fe-interview Jul 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
http http
Projects
fe-interview
In progress
Development

No branches or pull requests

1 participant