온라인 마케팅 -> 검색엔진 최적화(SEO, Search Engine Optimization)에서 가산점
가속화 모바일 페이지(AMP, Accelerated Mobile Pages) 만들 때 필요
**참고 (RFC_7540 HyperText Transfer Protocol Version 2(HTTP/2) 3절)
3. Starting HTTP/2 An HTTP/2 connection is an application-layer protocol running on top of a TCP connection ([TCP]). The client is the TCP connection initiator. HTTP/2 uses the same "http" and "https" URI schemes used by HTTP/1.1. HTTP/2 shares the same default port numbers: 80 for "http" URIs and 443 for "https" URIs. As a result, implementations processing requests for target resource URIs like "http://example.org/foo" or "https://example.com/bar" are required to first discover whether the upstream server (the immediate peer to which the client wishes to establish a connection) supports HTTP/2. The means by which support for HTTP/2 is determined is different for "http" and "https" URIs. Discovery for "http" URIs is described in Section 3.2. Discovery for "https" URIs is described in Section 3.3.
SSL
SSL
Secure Socket Layer
CA(Certificate Authority) 서드 파티로부터 Server와 Client 인증하는 데 사용
TLS(Transport Layer Security)가 표준화 되면서 SSL로 바뀜
TCP/IP 사용하는 통신에 적용, 전송계층(Transport Layer)에서 보안, 데이터 무결성 확보
기본적으로 JAVA_HOME/jre/lib/security 폴더 안에 cacerts라는 keystore 파일 보관
실습 진행
기본 Spring Boot Project 생성
Java Keytool 유틸리티를 통해서 인증서 생성
아래 command를 만든 Spring Boot Project base dir 위치에서 실행
keystore.p12 파일 생성 확인
Spring Boot Project 내 application.properties 파일 아래와 같이 편집 후 Spring Boot 실행
http와 https로 들어갔을 때 차이 확인
** 인증서 생성
keytool -genkey -alias tomcat \
-storetype PKCS12 \
-keyalg RSA \
-keysize 2048 \
-keystore keystore.p12 \
-validity 4000
# 이후 비밀번호 지정
# 아무값 입력 후(테스트용) 마지막 확인 창에서 'yes' OR '예' 입력