찾다
백엔드 개발PHP 튜토리얼HTTP와 HTTPS의 차이점에 대한 자세한 설명


  • Hypertext Transfer Protocol HTTP 프로토콜은 웹 브라우저와 웹 사이트 서버 간에 정보를 전송하는 데 사용되며 공격자가 웹 탐색을 가로채는 경우 어떤 형태의 데이터 암호화도 제공하지 않습니다. HTTP 프로토콜은 신용 카드 번호, 비밀번호 및 기타 결제 정보와 같은 일부 민감한 정보를 전송하는 데 적합하지 않습니다.

  • HTTP 프로토콜로 전송되는 데이터는 암호화되지 않습니다. 즉, 일반 텍스트이므로 이러한 개인 데이터를 암호화하고 전송할 수 있도록 HTTP 프로토콜을 사용하는 것은 매우 안전하지 않습니다. , Netscape가 설계한 SSL(Secure Socket) 레이어) 프로토콜은 HTTP 프로토콜에서 전송되는 데이터를 암호화하는 데 사용되므로 HTTPS가 탄생했습니다.

  • HTTP 프로토콜의 이러한 단점을 해결하려면 다른 프로토콜을 사용해야 합니다. SSL(Secure Socket Layer) 하이퍼텍스트 전송 프로토콜 HTTPS는 데이터 전송 보안을 위해 SSL을 기반으로 SSL 프로토콜을 추가합니다. 인증서에서는 서버의 신원을 확인하고 브라우저와 서버 간의 통신을 암호화합니다.


기본 개념:

HTTP: 인터넷에서 가장 널리 사용되는 네트워크 프로토콜로, WWW 서버에서 하이퍼텍스트를 전송하는 데 사용되는 클라이언트 및 서버측 TCP(요청 및 응답 표준)입니다. 브라우저의 효율성을 높이고 네트워크 전송을 줄일 수 있는 기본 브라우저 전송 프로토콜입니다.
HTTPS: 보안을 목표로 하는 HTTP 채널입니다. 간단히 말해서 HTTP의 보안 버전입니다. 즉, HTTP에 SSL 레이어가 추가된 것입니다. HTTPS의 보안 기반은 SSL이므로 암호화의 세부 사항에는 SSL이 필요합니다.


HTTPS 프로토콜의 주요 기능

암호화된 전송
신원 인증.


차이

1. https 프로토콜은 CA로부터 인증서를 신청해야 합니다. 일반적으로 무료 인증서 수가 적기 때문에 일정한 수수료가 필요합니다.
2. http는 하이퍼텍스트 전송 프로토콜이며 정보는 일반 텍스트로 전송되는 반면, https는 안전한 SSL 암호화 전송 프로토콜입니다.
3. http와 https는 전혀 다른 연결 방식을 사용하고, 다른 포트를 사용합니다. 전자는 80이고 후자는 443입니다.
4. http 연결은 매우 간단하고 상태가 없습니다. HTTPS 프로토콜은 암호화된 전송 및 신원 인증을 수행할 수 있는 SSL+HTTP 프로토콜로 구축된 보안 채널이며 http 프로토콜보다 안전합니다.


HTTPS 작동 방식

  1. 고객은 https URL을 사용하여 웹 서버에 액세스하므로 웹 서버에 SSL 연결을 설정해야 합니다.

  2. 웹 서버는 클라이언트의 요청을 받은 후 웹 사이트의 인증서 정보(인증서에 공개 키가 포함되어 있음) 사본을 클라이언트에 보냅니다.

  3. 클라이언트는 무작위로 세션 키를 설정한 후 웹 사이트의 공개 키를 사용하여 세션 키를 암호화하여 웹 사이트에 전송합니다.

  4. 웹 서버는 공개 키 암호 해독을 사용하여 세션 키를 얻습니다.

  5. 웹 서버와 브라우저는 세션 키의 암호화 및 복호화를 통해 통신합니다.

  6. 그림과 같이
    HTTP와 HTTPS의 차이점에 대한 자세한 설명


HTTPS의 장점

  1. HTTPS 프로토콜을 사용하면 인증할 수 있습니다.

  2. HTTPS 프로토콜은 암호화된 전송 및 신원 인증을 수행할 수 있는 SSL+HTTP 프로토콜로 구축된 네트워크 프로토콜이며 http 프로토콜보다 안전합니다. 전송 중에 데이터가 가로채는 것을 방지하고 데이터 무결성을 훔치고 변경합니다.

  3. HTTPS는 현재 아키텍처에서 가장 안전한 솔루션이지만 절대적으로 안전하지는 않지만 중간자 공격 비용을 크게 증가시킵니다.

  4. Google은 2014년 8월 검색 엔진 알고리즘을 조정하고 "동등한 HTTP 웹 사이트와 비교하여 HTTPS 암호화를 사용하는 웹 사이트가 검색 결과에서 더 높은 순위를 차지할 것"이라고 밝혔습니다.


HTTPS의 단점

  1. HTTPS 프로토콜 핸드셰이크 단계는 시간이 더 많이 소요되어 페이지 로딩 시간이 거의 50% 연장되고 전력 소비가 10%~20% 증가합니다.

  2. HTTPS 연결; 캐싱은 HTTP만큼 효율적이지 않으며 데이터 오버헤드와 전력 소비를 증가시키며 기존 보안 조치에도 영향을 미칩니다.

  3. SSL 인증서는 인증서가 강력할수록 비용이 높아집니다. 일반적으로 사용할 필요가 없습니다.

  4. SSL 인증서는 일반적으로 IP에 바인딩되어야 합니다. 여러 도메인 이름은 동일한 IP에 바인딩될 수 없습니다.


http가 HTTPS로 전환

  1. 여기서 js, css, 그림 등과 같은 페이지의 모든 링크를 http에서 https로 변경해야 합니다.

  2. 전환 시 http와 https를 호환되게 만들 수 있습니다. 구체적인 구현 방법은 페이지 링크에서 http 헤더를 제거하여 http 헤더와 https 헤더가 자동으로 일치되도록 하는 것입니다. 예: http://www.baidu.com을 //www.baidu.com으로 변경합니다. 그러면 사용자가 http 입구에서 액세스 페이지에 들어가면 해당 페이지는 http입니다. 사용자가 https 입구에서 액세스 페이지에 들어가면 페이지는 https

관련 권장 사항:

PHP Http 요청 http 500 http와 https http 192.168.1.1

HTTP와 HTTPS 교차 도메인 공유 세션 솔루션

PHP는 단순히 HTTP 및 HTTPS 교차 도메인 공유 세션 솔루션을 구현합니다

위 내용은 HTTP와 HTTPS의 차이점에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Nginx与SSL:配置HTTPS保护Web服务器Nginx与SSL:配置HTTPS保护Web服务器Jun 09, 2023 pm 09:24 PM

Nginx是一个高性能的Web服务器软件,同时也是一款强大的反向代理服务器和负载均衡器。随着互联网的迅速发展,越来越多的网站开始采用SSL协议保护敏感用户数据,而Nginx也提供了强大的SSL支持,使得Web服务器的安全性能更进一步。本文将介绍如何配置Nginx以支持SSL协议,并保护Web服务器的安全性能。什么是SSL协议?SSL(SecureSocke

Nginx防火墙如何保障HTTPS安全通信Nginx防火墙如何保障HTTPS安全通信Jun 10, 2023 am 10:16 AM

在当今互联网时代,安全通信已经成为了不可或缺的一部分。尤其是在HTTPS通信中,如何保障其安全性尤为重要。而Nginx作为流行的Web服务器和反向代理服务器,其防火墙也可以在保障HTTPS安全通信中发挥重要作用。本文将就Nginx防火墙从以下几个方面进行讨论。TLS/SSL加密HTTPS通信的安全保障主要是基于TLS/SSL加密技术,其能够防止数据在传输过程

怎么使用Nginx实现HTTPS双向验证怎么使用Nginx实现HTTPS双向验证Jun 03, 2023 pm 08:38 PM

单向验证与双向验证的区别:单向验证:指客户端验证服务器端证书,服务器并不需要验证客户端证书。双向验证:指客户端验证服务器端证书,而服务器也需要通过ca的公钥证书来验证客户端证书。详细的握手过程:单向验证浏览器发送一个连接请求给安全服务器。1、服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。2、客户浏览器检查服务器送过来的证书是否是由自己信赖的ca中心所签发的。如果是,就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书不是可以信赖的询问客户是否需要继续。3、接着客

Nginx下如何升级httpsNginx下如何升级httpsMay 14, 2023 pm 04:49 PM

下载证书在证书控制台下载nginx版本证书。下载到本地的压缩文件包解压后包含:.pem文件:证书文件.key文件:证书的私钥文件(申请证书时如果没有选择自动创建csr,则没有该文件)配置nginx1、在nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中,如果申请证书时是自己创建的csr文件,请将对应的私钥文件放到cert目录下。2、打开nginx安装目录下conf目录中的nginx.conf文件#usernobody;worker_processes1;#error

Java API 开发中使用 Https 进行数据传输Java API 开发中使用 Https 进行数据传输Jun 18, 2023 pm 10:43 PM

随着科技的发展,网络通信已经成为了现代社会信息传输的重要工具之一。但同时,网络上的信息传输面临着被恶意攻击和窃取的风险,因此安全性显得尤为重要。基于此,HTTPS协议就应运而生。它是在HTTP协议上加入SSL/TLS加密的方式来保证网络传输安全性的一种协议。Java作为一门广泛应用于网络开发的语言,自然也提供了丰富的API来支持HTTPS协议。本文将

nginx如何让浏览器强制跳转HTTPS访问nginx如何让浏览器强制跳转HTTPS访问May 15, 2023 pm 02:34 PM

效果可以看如下:但是如果我们现在使用http来访问的话,访问不了。如下图所示:因此我现在首先要做的是使用nginx配置下,当用户在浏览器下输入http请求的时候使用nginx重定向到https下即可。因此我们现在需要做一个简单的nginx重定向功能。因此在我们的nginx中需要加如下重定向配置:server{listenxxx.abc.com;server_namexxx.abc.com;rewrite^/(.*)$https://$host$1permanent;}因此nginx主要的配置代码

如何在golang中使用正则表达式验证URL地址是否为HTTPS协议如何在golang中使用正则表达式验证URL地址是否为HTTPS协议Jun 24, 2023 pm 12:05 PM

Golang是一种高效的编程语言,经常被用于创建网络应用程序。在网络应用程序中,经常需要对URL地址进行验证,以确保它们符合我们的目标。在这篇文章中,我们将会介绍如何在Golang中使用正则表达式来验证URL地址是否为HTTPS协议。首先,我们需要了解HTTPS协议的URL格式。HTTPS协议的URL从HTTP协议URL中继承了一部分,但是它有一些独特的特征

nginx如何配置SSL证书实现https服务nginx如何配置SSL证书实现https服务May 15, 2023 pm 03:25 PM

假如我现在node基本架构如下:|----项目||---static#存放html文件|||---index.html#index.html||---node_modules#依赖包||---app.js#node入口文件||---package.json||---.babelrc#转换es6文件index.html文件代码如下:nginx配置https欢迎使用https来访问页面app.js代码如下:constkoa=require('koa');constfs

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구