通过HTTP/HTTPS服务的web应用程序?

通过HTTP/HTTPS服务的web应用程序?,http,https,security,Http,Https,Security,可能重复: 我知道HTTP和HTTPS在安全HTTP通信方面的基本区别 我想知道为什么有些网站同时提供HTTP和HTTPS服务?在我之前的一个项目中,通过8443端口(用于HTTPS)和80端口(用于HTTP)提供了相同的网站 当我登录到网站时,我看到一个以https://www.my.org.etc 登录后,所有其他页面也会显示https://www....,在http://www... 那么,我们为什么要将应用程序配置为通过http提供服务呢?我们只能通过HTTPS为应用程序提供服务?主要

可能重复:

我知道HTTP和HTTPS在安全HTTP通信方面的基本区别

我想知道为什么有些网站同时提供HTTP和HTTPS服务?在我之前的一个项目中,通过8443端口(用于HTTPS)和80端口(用于HTTP)提供了相同的网站

当我登录到网站时,我看到一个以
https://www.my.org.etc

登录后,所有其他页面也会显示
https://www....
,在
http://www...


那么,我们为什么要将应用程序配置为通过http提供服务呢?我们只能通过HTTPS为应用程序提供服务?

主要是出于性能原因,即SSL握手。我只在绝对需要的时候才使用https。见下文


Https与http相比有一点开销,是什么让它变得更慢

由于这一点,对于大多数网站来说,通常的做法是从http为大多数页面提供服务器,并且只为那些需要https安全性的页面提供服务。例如,支付页面或个人数据页面

只要https页面中的所有资源都来自https连接,这样做就可以正常工作。你可能记得在一些网站上看到浏览器提醒你,即使页面是安全的,页面的某些元素也不安全

一个常见的陷阱是通过http连接提供css文件或图像


今天,许多站点选择从https连接后面为所有站点提供服务,这是一个安全问题,忽略了这样做的(很少)开销。

在我们的应用程序中,我们所做的是默认情况下在https上提供所有服务

但是,如果用户键入。在这种情况下,向他显示url不存在是个坏主意因此我们将所有http请求重定向到https。


这是因为默认情况下,任何请求都将通过http发送给服务器,如果不指定协议,这是浏览器的默认设置。因此,如果您不将http请求重定向到您的https应用程序,那么您将面临一个改变,失去您的受众。

https对于您希望通过网络加密的信息非常重要。并非所有内容都需要通过网络进行加密,加密和解密过程的额外开销可能会对您的站点造成过大影响


如果你的网站中有一个页面包含个人信息,如信用卡号码、密码、ssn等,那么这些信息应该加密。如果站点中有其他页面显示图像和文本,即为只读公共信息,则不需要HTTPS。

有时出于性能原因,有时出于客户端兼容性,有时只是为了避免官方(CA签名)证书的费用。。。通常只是内容不太安全敏感。。。越来越多的公司嗅探https流量,可以读取明文中的任何内容(即从公司网络内部进行的任何https通信)。我理解您的观点,答案是我不知道为什么在生产过程中应用程序通过HTTP提供服务。这可能是因为您希望dev和prod之间保持一致,而在dev中,您不在web服务器上安装ssl证书,但在prod中安装ssl证书。这最好作为一个注释而不是回答。@Sean Vieira您能告诉我指导原则是什么吗?抱歉。。。我昨天误读了你的答案。我不在这里,不是你:-)