http vs https an depth comparison features
예제를 통해 HTTP와 HTTPS의 정확한 차이점을 살펴보십시오.
'HTTP vs HTTPS'라고 말할 때 가장 중요한 것은이 두 용어의 기본 의미를 이해하는 것입니다.
HTTP와 HTTPS가 무엇을 의미하는지 살펴본 후에는이를 비교할 수 있습니다.
학습 내용 :
HTTP 란?
HTTP는 H yper 티 내선 티 Ransfer 피 로토콜. 인터넷 프로토콜 제품군 내에서 HTTP는 분산, 공유 및 하이퍼 미디어 정보 시스템 간의 클라이언트-서버 통신을 설정하고 개선하기위한 애플리케이션 계층 프로토콜입니다.
통신은 HTTP 요청을 보내고 www (월드 와이드 웹)를 통해 HTTP 응답을 수신하여 이루어집니다.
HTTP는 하이퍼 텍스트와 www를 사용하기 위해 개발되었습니다. 클라이언트-서버 컴퓨팅 모델에서 요청-응답 프로토콜처럼 작동합니다.
클라이언트 (예 : 웹 브라우저)는 웹 서버 (예 : 클라우드 컴퓨터)에 HTTP 요청을 보냅니다. 서버는 요청을 수신하고 응용 프로그램을 실행하여 요청을 처리합니다. 그런 다음 응용 프로그램 실행 출력, 즉 클라이언트에 대한 HTTP 응답을 반환합니다. 클라이언트가 응답을받습니다.
(영상 출처 )
HTTP라는 이름의 '프로토콜'부분은 일련의 규칙임을 나타냅니다. HTTP는 인터넷 프로토콜 제품군의 프로토콜 중 하나입니다.
HTTP라는 이름의 '전송'부분은 www를 통한 파일 전송을 나타냅니다. 이러한 파일은 텍스트, 그래픽, 이미지, 오디오, 비디오 또는 기타 멀티미디어 일 수 있습니다.
HTTP라는 이름의 'HyperText'부분은 문서 또는 파일에 다른 텍스트에 대한 링크가 포함될 수 있음을 나타냅니다.이 링크는 독자가 마우스를 클릭하거나 키를 누르거나 화면을 터치하여 즉시 액세스 할 수 있습니다.
따라서 하이퍼 텍스트는 파일이 추가 전송 요청을 트리거하는 다른 파일에 대한 링크를 포함 할 수있는 광범위한 상호 참조를 허용합니다.
이제 간단히 말해서 HTTP가 www를 통한 하이퍼 텍스트 파일 전송에 대한 일련의 규칙임을 이해할 수 있습니다.
HTTPS 란?
Netscape에서 개발 한 HTTPS는 H ypertext 티 Ransfer 피 로토콜 에스 ecure. HTTP의 한계는 클라이언트와 서버 간의 정보 흐름이 암호화되지 않아 누구나 정보를 훔칠 수 있다는 것입니다.
HTTP를 사용하여 교환 된 하이퍼 텍스트는 일반 텍스트로 이동하며 누구나 쉽게 읽을 수 있고 자신의 이익을 위해 통신을 가로 챌 경우 자신의 코드를 삽입 할 수 있습니다. 따라서 HTTPS는 이러한 HTTP 제한의 보안을 극복하기 위해 개발되었습니다.
HTTPS의 마지막 'S'는 '보안'으로 알려져 있습니다. HTTPS는 컴퓨터 네트워크를 통한 보안 통신을 가능하게하는 HTTP의 확장이며 인터넷에서 광범위하게 사용됩니다. HTTPS = HTTP + 암호화 프로토콜. HTTPS는 인터넷 프로토콜 제품군의 애플리케이션 계층에도 속합니다.
HTTPS는 HTTP over TLS 또는 HTTP over SSL이라고도합니다. 이는 TLS (Transport Layer Security) 또는 SSL (Secure Socket Layer)을 하위 계층으로 사용하여 통신 프로토콜을 암호화하기 때문입니다. SSL 인증서를 사용하여 브라우저와 서버 간의 보안 연결을 만듭니다.
HTTPS는 클라이언트와 서버간에 양방향 암호화를 제공합니다.
난수를 생성하려면 헤더 파일의 rand 함수를 사용할 수 있습니다.
따라서 HTTPS는 기본적으로 액세스 된 웹 사이트의 인증을 제공하고 클라이언트-서버 통신 중에 전송되는 데이터의 개인 정보 및 무결성을 보호합니다. 안전한 통신을 보장합니다.
(영상 출처 )
Chrome, IE 또는 기타 웹 브라우저를 열 때 아래와 같은 자물쇠 아이콘이 표시되어야합니다.
이 자물쇠 아이콘은 HTTPS 연결이 유효 함을 나타냅니다.
HTTPS는 처음에 온라인 뱅킹 및 온라인 쇼핑과 같은 온라인 결제 거래와 같은 금융 도메인에서 사용되었습니다.
그러나 최근에는 거의 모든 유형의 웹 사이트에서 널리 사용되고있어 웹 데이터의 진위를 보호하고 사용자의 계정과 브라우징 정보를 보호하고 비공개로 유지할 수 있습니다.
HTTPS는 어떻게 작동합니까?
위에서 언급했듯이 HTTPS는 SSL 또는 TLS를 사용하여 암호화를 활성화합니다. SSL 및 TLS 프로토콜은 모두 공개 키와 개인 키라는 두 개의 키가있는 비대칭 키 알고리즘을 기반으로합니다. 두 키는 쌍을 이루어 함께 작동합니다.
공개 키는 인증서를 통해 클라이언트 또는 웹 브라우저에 배포되고 개인 키는 해당 특정 웹 사이트의 웹 서버에 보관됩니다.
HTTPS는 사용자의 브라우저와 서버간에 발생하는 모든 데이터 교환을 암호화하여 서버와 브라우저간에 전송중인 데이터를 아무도 읽을 수 없도록합니다.
데이터는 발신자 측에서 고유 한 암호화 키 (임의 번호) 및 암호화 알고리즘에 의해 암호화됩니다. 이 암호화 된 데이터는 암호 . 다른 쪽, 즉 수신자 쪽에서는이 암호문이 암호화 프로세스의 역순을 사용하여 해독되고 원본 데이터가 복원됩니다.
이제 양쪽 끝 (브라우저와 서버)이 동일한 암호화 키를 사용하는 경우이를 대칭 암호화라고합니다. 이에 대한 가장 좋은 예는 라우터와 랩톱이 동일한 암호를 공유하는 가정에서 사용되는 WIFI입니다.
반면 비대칭 암호화에서는 웹 브라우저와 서버 간의 초기 핸드 셰이 킹 프로세스에 사용되는 암호화 및 암호 해독 키가 모두 다릅니다.
HTTPS를 사용하는 웹 사이트에는 GeoTrust, GoDaddy 등과 같은 일부 인증 기관에서 구매 한 고유 한 디지털 인증서가 있습니다.
HTTPS 작업의 전체 프로세스는 두 가지 주요 단계로 나눌 수 있습니다.
1) www.Yahoo.com과 같은 URL을 입력하면 Yahoo의 서버는 웹 브라우저에 다음 두 가지를 제공합니다. '증명서' 인증 기관 (VeriSign에서 서명 한 인증서라고 가정 해 보겠습니다)이 서명했으며 또 다른 매우 중요한 것은‘ 공개 키 ' (임의의 숫자로 두십시오).
이제 웹 브라우저에는 주요 등록 인증 기관에서 제공 한 공개 키 목록이 포함되어 있습니다. 일치하는 각각의 공개 키를 통해 인증서를 해독합니다.
공개 키가 디지털 서명 된 인증서를 해독 할 수있는 경우에만 URL 앞에 녹색 잠금을 표시하여 데이터 교환을위한 보안 연결을 생성 할 수 있습니다.
그렇지 않으면 공개 키가 일치하지 않으면 모든 연결이 중지되고 URL 시작 부분에 신뢰할 수없는 웹 사이트의 빨간색 십자가 기호가 표시됩니다. 이 전체 프로세스를 핸드 쉐이킹 프로세스라고합니다.
(영상 출처 )
인터넷에서 작업하는 동안 위의 녹색 자물쇠와 적십자 https 기호를 자주 보셨을 것입니다.
개인 키와 공개 키는 데이터를 암호화하고 해독하는 데 공동으로 사용됩니다. 하나의 키 (공개 또는 개인)가 암호화에 사용되는 경우 다른 키가 암호 해독에 사용됩니다. 따라서이 단계까지 비동기 통신이 사용됩니다.
이 프로세스의 다음 단계로 이동하겠습니다.
2) 이제 위에서 언급했듯이 www.Yahoo.com으로 이동하면 야후 서버가 해당 공개 키를 통해 암호화 된 형태로 데이터를 전송합니다.이 데이터는 야후 서버의 각 개인 키로 만 해독 할 수 있습니다. 이 개인 키는 공개적으로 공유되지 않습니다. 따라서 개인 키없이 데이터를 해독하는 것은 거의 불가능합니다.
공개 키와 개인 키와는 별도로 웹 브라우저는 세션 키라고하는 세 번째 키를 생성합니다. 이제이 세션 키는 서버에서받은 공개 키에 의해 암호화되고이 암호화 된 세션 키는 yahoo의 서버와 공유됩니다. 이 서버는 개인 키를 통해 암호를 해독하여 세션 키를 가져옵니다.
mkv 파일을 보는 방법
이제 사용자와 서버는 모두 동일한 세션 키를 가지고 있습니다. 이제 사용자의 컴퓨터와 서버가 동일한 세션에 남아 있으면 웹 사이트를 닫아 세션이 종료되지 않을 때까지 대칭 암호화를 계속 사용합니다.
정확한 차이점 – HTTP와 HTTPS
HTTP | HTTPS |
---|---|
인터넷을 통해 정보를 교환해야하는 필요성을 해결합니다. | 안전하지 않은 인터넷을 통해 기밀 정보를 교환해야하는 필요성을 해결합니다. |
HTTP URL은 HTTP : //로 시작하고 포트 80을 기본 포트로 사용합니다. | HTTPS URL은 https : //로 시작하고 포트 443을 기본 포트로 사용합니다. |
HTTP는 안전하지 않으며 중간자 (man-in-the-middle) 공격과 도청에 취약하여 바이러스 주입으로 이어지고 공격자에게 민감한 정보가 유출 될 수 있습니다. | HTTPS는 암호화되고 보호됩니다. 이러한 공격에 저항하고 인증, 개인 정보 보호 및 보안을 제공 할 수있는 기능이 있습니다. |
이 프로토콜은 Timothy John 경이 발명했습니다. | 이 프로토콜은 Netscape Corporation에서 Navigator 브라우저 용으로 개발했습니다. |
통신에 SSL 인증서를 사용하지 않습니다. | 통신에 SSL 인증서를 사용합니다. |
데이터 암호화를 사용하지 않습니다. | 데이터 암호화를 사용합니다. |
블로그, 포럼, 교육 사이트, 엔터테인먼트 및 기사와 같은 정보 소비 웹 사이트에서 사용하기에 적합합니다. | 이는 금융 또는 기타 기밀 데이터와 같은 개인적이고 민감한 정보를 수집하는 웹 사이트에 적합합니다. 예를 들어, 결제 게이트웨이, 쇼핑 웹 사이트. |
속도에 대해 말하면 단순성 때문에 HTTPS보다 빠릅니다. 이것은 상태 비 저장 프로토콜이며 이전 웹 세션을 회수하지 않습니다. | 속도에 대해 말하면 HTTP보다 느립니다. 이는 보안 세션을 설정하는 데 약간의 처리 시간이 걸리기 때문입니다. |
검색 순위를 향상시키지 않습니다. | 검색 순위를 향상시킵니다. 2014 년에 Google은 HTTPS를 순위 신호로 사용하기 시작했습니다. |
리퍼러 데이터를 저장하지 않습니다. 추천 소스는 직접 트래픽으로 만 표시됩니다. | Referrer 데이터를 보존합니다. 따라서 Google 애널리틱스를 더 효과적으로 만들고 SEO에 큰 이점이 있음이 입증되었습니다. |
방문자는 보안 위반 위험을 느끼고 민감한 정보가 유출 될 수 있으므로 신뢰도가 떨어집니다. | 자격 증명, 검색 기록, 계정 세부 정보 등과 같은 민감한 정보가 노출 될 위험이 없음을 알고 있으므로 방문자와 신뢰를 구축합니다. |
HTTP에는 AMP (Accelerated Mobile Pages)를 사용할 수 없습니다. | HTTPS는 AMP 사용의 이점을 제공합니다. Google AMP를 사용하려면 HTTPS가 있어야합니다. |
두 이미지는 HTTP와 https의 주요 차이점을 시각화하는 데 도움이됩니다.
(영상 출처 )
HTTP 대 HTTPS 성능
일반적으로 HTTP는 단순성 때문에 HTTPS보다 빠릅니다. HTTPS에서는 HTTP와 달리 SSL 핸드 셰이크의 추가 단계가 있습니다. 이 추가 단계는 웹 사이트의 페이지로드 속도를 약간 지연시킵니다.
그러나 이것은 세션 길이, 정적 콘텐츠와 동적 콘텐츠의 비율, 클라이언트의 캐싱 동작, 하드웨어, 서버 소프트웨어 등과 같은 특정 사항에 따라 달라집니다.
예를 들어 , 서버에 동적 콘텐츠가 많으면 SSL 핸드 셰이크에 소요되는 시간이 콘텐츠 생성에 소요되는 시간에 비해 중요하지 않기 때문에 페이지로드가 HTTPS에 의해 방해를받을 가능성이 적습니다. 그러나 정적 콘텐츠가 많은 경우 오버 헤드가 더 높습니다.
매우 짧은 세션도 SSL 핸드 셰이크 시간의 영향을받습니다. 그러나 긴 세션의 경우이 비용은 세션 시작시 발생하며 이후의 후속 요청이 더 빠릅니다.
그러나 무엇보다도 HTTPS가 제공하는 보안 이점은 약간의 성능 지연보다 훨씬 큽니다.
HTTPS 성능을 향상시킬 수있는 특정 방법도 있습니다.
여기에는 다음이 포함됩니다.
- HTTP / 2 : HTTP / 2를 사용하면 HTTPS가 더 빨라지므로 성능 오버 헤드가 상쇄됩니다. HTTP / 2의 주요 이점과 기능에는 멀티플렉싱 및 동시성, 헤더 압축, 스트림 종속성 및 서버 푸시가 포함됩니다.
- Brotli 압축 : 이것은 Google에서 도입 한 오픈 소스 무손실 압축 알고리즘입니다. 대역폭 소비를 줄이고 더 빠른 콘텐츠로드를 지원합니다.
- HPACK 압축 : 이것은 Huffman 인코딩을 기반으로하며 헤더 크기를 약 30 % 줄입니다. HPACK 압축은 압축 기반 공격에 내성이 있으며 큰 헤더를 인코딩 할 수 있습니다.
- OCSP (온라인 인증서 상태 프로토콜) 스테이플 링 : 이것은 SSL 인증서를 신속하게 검증하는 방법입니다.
- CDN : CDN은 콘텐츠 전송 네트워크입니다. CDN을 사용하면 왕복 시간과 TCP 및 TLS 핸드 셰이크의 전체 비용을 상당히 줄일 수 있습니다.
HTTP VS HTTPS 테스트를 수행하는 웹 사이트 http://www.httpvshttps.com/이 있습니다. 동일한 페이지에서 HTTP 버전을로드하는 데 20.306 초가 걸렸고 HTTPS 버전을로드하는 데 7.630 초가 걸렸습니다. 나는 크롬 브라우저에서 이것을 시도했다.
HTTP 및 https 페이지 버전로드 시간 간의 비교를 보여주는 다른 테스트 플랫폼 및 시각적 비교 도구도 사용할 수 있습니다.
결론
따라서이 기사에서는 HTTP와 HTTPS의 기본 사항을 이해하고 둘의 차이점을 살펴 보았습니다. HTTP는 클라이언트와 서버 간의 데이터 전송을위한 매우 기본적인 프로토콜을 제공하지만 HTTPS는 개인 정보 보호, 무결성 및 인증이라는 세 가지 주요 목표에 HTTP 서비스에 보안 계층을 추가합니다.
역사적으로 HTTPS 연결은 온라인 금융 거래에만 사용되었습니다. 그러나 최근 몇 년 동안 거의 모든 유형의 웹 사이트가 HTTPS 연결을 사용하여 보안 통신을 제공하기 시작했습니다.
결국 사용자의 민감한 정보 및 인터넷 사용 기록과 관련된 개인 정보 및 보안은 손상 될 수 없습니다! 아키텍처 측면에서 HTTPS에는 SSL 핸드 셰이크의 오버 헤드가 있으므로 HTTP보다 느릴 수 있습니다. 그러나 제공하는 보안 이점은 이러한 약간의 성능 지연보다 큽니다.
실제로 HTTPS 성능을 개선 할 수있는 많은 방법이 있으며 요즘 HTTPS는 더 빠르게 성장하고 있습니다.
이 기사가 HTTP 및 HTTPS 개념에 대한 지식을 풍부하게 해주기를 바랍니다!
추천 도서
- JMeter HTTPS 테스트 스크립트 레코더
- LoadRunner와 Performance Center의 차이점
- MongoDB 성능 : 잠금 성능, 페이지 오류 및 데이터베이스 프로파일 링
- Appium Studio 소개 : 주요 이점 및 기능
- Georgia Tech, RadView WebLOAD에서 성능 테스트 표준화
- 성능 테스트 계획과 성능 테스트 전략의 차이점
- 수동 성능 테스트를 수행하는 방법?
- 웹 사이트 성능 테스트 도구 및 서비스