청소 플랫폼 만들기 (10)

김민준·2023년 8월 25일
0

청소 플랫폼 만들기 (10)
HTTP, HTTPS의 차이점
프로그래머스

공부하며 느낀 점
참조한 페이지

청소 플랫폼 만들기 (10)

관계성수정

테이블간의 관계설정이 되어있지 않았던 것을 한 팀원이 발견하여 수정하였다.
model에서 class 명 대신에 super를 사용해서 부모요소로 만들어야한다.

관계성 설정은 맨위에 넣든 맨 아래애 넣든 상관 없다.

PR

풀 리퀘스트를 넣을 때 자세하게 설명을 써주고, 그때마다 코드리뷰를 해서 팀원들이 변경을 알기 쉽게해야겠다.
한예로 나는 당연히 thunder client 등을 사용할때 로그인 후 나온 토큰을 헤더에 넣을거라고 생각했는데, 그걸 몰랐던 팀원들이 있었다. PR을 할때 코드리뷰를 했다면 없었을 일이다.

기타
어제 PR이후에 자동으로 머지한 브랜치가 삭제되도록 만들어놨었는데 삭제되지 않는 일이 있었다.
오늘 새로운 PR을 해보니 이전것까지 사라진걸 보니 일시적인 오류였던 것같다.

HTTP, HTTPS의 차이점

내가 알고 있는 것
HyperText Transfer Protocol
HyperText Transfer Protocol Secure
둘 다 브라우저가 웹과 통신하기 위한 통신 규약이다.
https는 http의 보안 문제를 해결하기 위해 만들어진 것이다.

아는게 너무 적네

조사해서 정리한 것
OSI 7계층중 4계층, 통신계층에 관한 이야기이다. 어제 다루었던 TCP/UDP는 TCP/IP의 4계층, 통신계층에 관한 이야기이다.

HTTP 는 WWW를 기반으로한, 서버간 통신을 위한 통신 규칙 세트 또는 프로토콜이다.
무상태 Stateless 인 프로토콜이다.
브라우저가 웹 서버에 HTTP요청을 하면, 서버도 HTTP 응답을 한다.
암호화 되지 않은 일반 텍스트로 통신하기 때문에 보안성이 나쁘며, 이를 보완하기 위해 HTTPS가 만들어졌다.

HTTPS 웹사이트는 CA(인증기관)에서 SSL/TLS 인증서를 획득해야한다. 유료로 주는 곳도 있지만 aws 같은곳에서도 무료로 얻을 수 있다고 한다.

SSL Secure Sockets Layer
TLS Transport Layer Securtity

SSL/TLS는 ID를 확인하고 SSL/TLS 프로토콜을 사용하여 다른 시스템에 암호화된 네트워크 연결을 설정하는 디지털 객체이다.
양쪽 다 인증기관을 신뢰하는 경우에 암호시스템인 PKI Public Key Infrastructure를 통해 다른 한쪽의 자격증명을 설정할 수 있다.

인증된 페이지는 프로토콜이 https이며, 주소창의 옆에 자물쇠 모양이 나타난다.

인증서가 유효한지 확일할 수 있다.

SSL/TLS를 적용한 사이트는 서버와 클라이언트만 서로 전송되는 정보를 알 수 있다.

HTTPS의 작동 방식
1. 브라우저가 HTTPS로 접속하면서 서버에게 SSL 인증서를 요구한다.
2. 서버가 퍼블릭키가 포함된 SSL 인증서를 반환한다.
3. 브라우저에서 인증이 성공하면, 퍼블릭키를 이용하여 비밀 세션키가 포함된 메세지를 암호화하고 전송한다.
4. 웹 서버는 프라이빗키로 메시지를 해독한다.
5. 세션키를 검색하고 암호화하여 브라우저에 승인 메시지를 보낸다.
6. 이제 브라우저와 웹 서버 모두 같은 세션키로 메시지를 교환한다.

암호화에는 두가지가 있다.
* 대칭키 암호화
. 클라이언트-서버가 동일한 암호키를 사용한다.
. 연산속도가 빠르지만 암호키 노출시 위험도가 크다.
* 비대칭키 암호화
. 공개키-개인키를 쌍으로 만들어서 사용한다.
. 암호키가 노출되어도 비교적 안전하다. 대신 연산속도가 느리다.
. 개인키와 암호키는 반대로 사용된다.
. 개인키를 사용하여 암호화 : 내가 인증한 정보임을 알려 신뢰성을 보장한다.
. 공개키를 사용하여 암호화 : 나만이 복호화할 수 있으므로, 정보의 보안성을 보장한다.

HTTPS에서 세션키는 빠른 연산이 필요하기 때문에 대칭키를 사용하며, 세션키를 공유하기 위해서 비대칭키를 사용한다.

그 외 차이점
1. 기본포트 , HTTP : 80 / HTTPS : 443
2. HTTP 애플리케이션 보다 HTTPS 웹 애플리케이션의 로딩이 더 빠르다.
3. 보안의 차이가 있기 때문에 사용자도 검색엔진도 HTTP 페이지보다는 HTTPS 페이지를 선호한다.

프로그래머스

문자열을 정수로 바꾸기

function solution(s) {
    var answer = Number(s)
    
    return answer;
}

딱히 뭐 풀었다고 할수도 없다...

공부하며 느낀 점

  1. 지속적인 코드리뷰가 매우 중요하다고 느꼈다.
    완성된다음 또는 그때쯤 하면 되겠거니 했는데 실시간으로 뭐가 어떻게 바뀌었는지 서로 정보를 주고받는게 매우 중요한것같다.

  2. HTTPS의 세션키가 대칭키라고 했을때는 이게 어떻게 보안이 유지되나했는데, 대칭키를 비대칭키로 공유한다는 것을 알고 대단하다고 생각했다.

참조한 페이지

HTTP와 HTTPS의 차이점은 무엇인가요?
[Web] HTTP와 HTTPS의 개념 및 차이점
What Is An SSL/TLS Certificate?

profile
node 개발자

0개의 댓글