[항해99 2기] TIL 29일차

Song·2021년 7월 5일
0

회고록

목록 보기
27/47

Today I Learned 29일차

  1. Web Socket vs Socket.io
  2. 암호화
  3. 느낀점

1. Web Socket vs Socket.io

Socket 이란,

  • 네트워크상에서 동작하는 프로그램 간 통신의 종착점 (Endpoint)

    Endpoint (최종 목적지): IP 주소와 Port 번호의 조합, 사용자의 디바이스 또는 서버가 될 수 있다.

  • 프로그램이 네트워크에서 데이터를 통신할 수 있도록 연결해주는 일종의 연결부
  • 각 클라이언트와 서버는 통신을 위해 소켓이 생성되어있어야한다.
  • 특정 포트를 가진 서버는 클라이언트 소켓의 연결 요청이 있을 때까지 대기 (listening)
  • 클라이언트는 특정 포트 번호를 가진 서버에게 연결 요청을 하고 서버 소켓이 허락 시 연결이 이뤄짐
    (클라이언트는 서버의 허락이 떨어질때까지 계속 서버에게 요청을 한다.)
  • 만약 서버가 listening 상태가 아니거나 port 번호가 틀리다면 소켓 연결이 안됨으로 통신이 이뤄지지 않는다.

Web Socket 이란,

  • HTTP5 표준 기술로 사용자의 브라우저와 서버사이의 동적인 양방향 연결 채널 구성
    (현재 전 세계에서 사용되는 브라우저의 5%를 제외한 모든 브라우저를 지원)
  • Web Socket API를 통해 서버로 메세지를 보내고 서버의 요청 없이도 응답을 받을 수 있다.
  • 별도의 포트없이 HTTP와 동일한 80 포트를 사용하므로 클라이언트인 웹 브라우저 뿐만 아니라
    웹 서버도 기능을 지원한다.

Socket.io 란,

  • Web Socket를 간편하게 쓸 수 있게 해주는 라이브러리
  • Socket.io는 Web Socekt를 포함한 개념일 뿐 항상 Web Socket를 사용하지 않고 Web Socket 방식을
    지원하지 않는 브라우저도 사용할 수 있도록 구현되어있다. (so, 소켓io 와 웹소켓은 달라!)
  • Socket.io를 통하면 express 서버와 http 서버를 합쳐서 사용할 수 있다.

2. 암호화

암호화란,

문장을 알수없는 규칙으로 변환하는 것

단방향

  • 신원 증명 시 사용하는 인증 방법
  • 권한 인증만 가능하며 다시 암호문을 풀 수는 없다.
  • 암호화 과정에서 역변환이 가능하다.

양방향

대칭키 암호화

  • 암호화에 사용된 대칭키를 수신자도 전달 받아 암호화를 해독할 때 사용
  • 속도가 빠르지만 암/복호화 시 대칭키를 전달해야하는 문제 발생

비대칭키 암호화 (두가지 키를 사용)

  • 공개키 -> 암호화
  • 개인키 -> 복호화
  • 속도가 느림
  • 공개키와 개인키의 위치가 바뀌는 것이 전자서명..

출처 ㅣ https://since2018.tistory.com/35

3. 느낀점

이번주 목요일까지 제출해야하는 주특기 심화 과제를 시작하였다.
아직 이해가 안가는 부분들도 많지만 이번에 과제를 진행하면서 복습과 실습을 같이 하려한다.
오늘은 평소와 다르게 집중이 잘되었는데, 내일도 오늘만큼 잘되면 좋겠다.

profile
Learn From Yesterday, Live Today, Hope for Tomorrow

0개의 댓글