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이 필요합니다.
암호화된 전송
신원 인증.
1. https 프로토콜은 CA로부터 인증서를 신청해야 합니다. 일반적으로 무료 인증서 수가 적기 때문에 일정한 수수료가 필요합니다.
2. http는 하이퍼텍스트 전송 프로토콜이며 정보는 일반 텍스트로 전송되는 반면, https는 안전한 SSL 암호화 전송 프로토콜입니다.
3. http와 https는 전혀 다른 연결 방식을 사용하고, 다른 포트를 사용합니다. 전자는 80이고 후자는 443입니다.
4. http 연결은 매우 간단하고 상태가 없습니다. HTTPS 프로토콜은 암호화된 전송 및 신원 인증을 수행할 수 있는 SSL+HTTP 프로토콜로 구축된 보안 채널이며 http 프로토콜보다 안전합니다.
고객은 https URL을 사용하여 웹 서버에 액세스하므로 웹 서버에 SSL 연결을 설정해야 합니다.
웹 서버는 클라이언트의 요청을 받은 후 웹 사이트의 인증서 정보(인증서에 공개 키가 포함되어 있음) 사본을 클라이언트에 보냅니다.
클라이언트는 무작위로 세션 키를 설정한 후 웹 사이트의 공개 키를 사용하여 세션 키를 암호화하여 웹 사이트에 전송합니다.
웹 서버는 공개 키 암호 해독을 사용하여 세션 키를 얻습니다.
웹 서버와 브라우저는 세션 키의 암호화 및 복호화를 통해 통신합니다.
그림과 같이
HTTPS 프로토콜을 사용하면 인증할 수 있습니다.
HTTPS 프로토콜은 암호화된 전송 및 신원 인증을 수행할 수 있는 SSL+HTTP 프로토콜로 구축된 네트워크 프로토콜이며 http 프로토콜보다 안전합니다. 전송 중에 데이터가 가로채는 것을 방지하고 데이터 무결성을 훔치고 변경합니다.
HTTPS는 현재 아키텍처에서 가장 안전한 솔루션이지만 절대적으로 안전하지는 않지만 중간자 공격 비용을 크게 증가시킵니다.
Google은 2014년 8월 검색 엔진 알고리즘을 조정하고 "동등한 HTTP 웹 사이트와 비교하여 HTTPS 암호화를 사용하는 웹 사이트가 검색 결과에서 더 높은 순위를 차지할 것"이라고 밝혔습니다.
HTTPS 프로토콜 핸드셰이크 단계는 시간이 더 많이 소요되어 페이지 로딩 시간이 거의 50% 연장되고 전력 소비가 10%~20% 증가합니다.
HTTPS 연결; 캐싱은 HTTP만큼 효율적이지 않으며 데이터 오버헤드와 전력 소비를 증가시키며 기존 보안 조치에도 영향을 미칩니다.
SSL 인증서는 인증서가 강력할수록 비용이 높아집니다. 일반적으로 사용할 필요가 없습니다.
SSL 인증서는 일반적으로 IP에 바인딩되어야 합니다. 여러 도메인 이름은 동일한 IP에 바인딩될 수 없습니다.
여기서 js, css, 그림 등과 같은 페이지의 모든 링크를 http에서 https로 변경해야 합니다.
전환 시 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
PHP는 단순히 HTTP 및 HTTPS 교차 도메인 공유 세션 솔루션을 구현합니다
위 내용은 HTTP와 HTTPS의 차이점에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!