230918(월) 성장
🚤 성장일지 7.0
책 행복한 이기주의자(웨인 다이어)
의 내용에 자극받아 시작하는 소박한 성장기록
살아있는 꽃과 죽은 꽃은 어떻게 구별하는가?<br/> 성장하고 있는 것이 살아 있는 것이다.<br/> 생명의 유일한 증거는 성장이다!
⚛ (7.0)<완전 개편>
파인만 학습법
을 알게 된만큼, 성장일지는 정말 그 날의 키워드 중심으로 간단하게 정리하도록 한다.
⚛️ 키워드: 직관적이고 쉽고 간단하게 작성
(Forward) Proxy vs Reverse Proxy
- Proxy: 대신하는 대리의 역할
- (Forward) Proxy Server:
클라이언트의 대리 역할
을 하는 서버- 클라이언트의 IP를 숨길 수 있다.
- 해당 네트워크에 있는 클라이언트들의 특정 웹사이트 접근을 제한할 수 있다.
- (공통) 요청에 대한 응답을 캐싱할 수 있다.
- Reverse Proxy Server:
서버의 대리 역할
을 하는 서버- 서버의 IP를 숨길 수 있다.
- Proxy에서 로드밸런싱을 함으로써 서버의 부하를 줄일 수 있다.
- (공통) 요청에 대한 응답을 캐싱할 수 있다.
HTTP vs HTTPS(feat. TLS handshake)
HTTP는 클라이언트와 서버가 데이터를 전송하기 위한 규약이다. 이 때, HTTP는 텍스트로 데이터를 송수신하게 되는데 이로 인해 중간에 데이터를 가로채면 해당 텍스트가 모두 공개된다. 이를 해결하기 위해 HTTP에 SSL/TLS 기술을 결합하여 보안을 강화한 것이 HTTPS다.
TLS handshake
TLS 핸드셰이크 과정은 클라이언트가 https로 된 웹 서버에 접속할 때 일어나는 과정으로 클라이언트와 서버가 서로 암호화된 데이터를 송수신하기 위한 열쇠를 교환하기 위함이라고 생각하면 편하다.
- 클라이언트가 HTTPS 웹사이트로 접속 시, 자신이 사용 가능한 Cipher suite, Session ID, SSL 프로토콜 버전 등을 담아 전송한다.
- 서버는 클라이언트가 보내온 패킷을 받아서 여러 Cipher Suite 중 하나를 선택하고 CA로부터 받은 SSL 인증서(서버의 공개키 포함)를 클라이언트에게 함께 전달한다.
- 클라이언트는 CA의 개인키로 암호화된 SSL 인증서를 공개키로 복호화하여 인증된 서버인지 확인하고 서버의 공개키를 얻을 수 있다. 이제 서버와 암호화된 소통을 하기 위한 대칭키를 생성하고 서버의 공개키로 이를 암호화하여 서버에게 전송한다.
- 서버는 본인의 개인키로 클라이언트의 데이터를 복호화하고 대칭키를 얻어낸다. 이제 클라이언트와 서버는 이 대칭키를 통해 데이터를 암호화하여 전송하고 복호화할 수 있게 된다.
📝 회고
바쁜 하루였따...!!! 그래도 목표했던만큼 다 해냈다!!!
참고
- 위키피디아: 프록시 서버
- 티스토리: 프록시란?
- 위키피디아: 리버스 프록시
- 리버스 프록시 서버 개념
- 프록시 서버와 리버스 프록시 서버 차이
- AWS: HTTP와 HTTPS의 차이점은 무엇인가요?
- 요즘IT: HTTP vs HTTPS
- 위키피디아: HTTPS
- CloudFlare: TLS 핸드셰이크의 원리
- 티스토리: TSL란
- TLS & SSL Handshake
undefined