네트워크

김대은·2026년 6월 22일

네트워크란?

네트워크는 서로 연결된 여러 기기, 컴퓨터의 그룹이다.
ex) 컴퓨터나 스마트폰 같은 기기들이 서로 데이터를 주고받을 수 있도록 연결해 놓은 상태나 망


HTTP, HTTPS, SSH

HTTP란?

HTTP는 암호화를 하지 않고 데이터를 전송하라는 통신규약(프로토콜)

  • 포트 번호: 80
  • 단점: 중간에 해커가 데이터를 가로채면 비밀번호나 개인정보가 그대로 노출됨.

HTTPS란?

HTTPS는 암호화를 하고 데이터를 전송하라는 통신규약

  • 포트 번호: 443
  • 우리가 주소창에서 많이 보는 https://www.youtube.com/watch?v=9zyH3aT0No4 이것이 HTTP와 HTTPS
  • 브라우저 주소창 왼쪽에 뜨는 '자물쇠 아이콘'이 바로 HTTPS로 암호화 통신을 하고 있다는 증거입니다.

어떻게 암호화할까? (대칭키 + 비대칭키 조합)
1. 비대칭키(공개키/개인키): 처음 연결할 때 서버는 누구에게나 공개하는 '공개키'를 브라우저에게 줍니다.
2. 대칭키(비밀키): 내 브라우저는 진짜 데이터를 암호화할 '대칭키'를 하나 만듭니다. 이 키를 서버의 '공개키'로 서버로 보냅니다. (중간에 해커가 가로채도 못 연다.)
3. 서버는 자신만 가진 '개인키'로 그걸 열어서 대칭키를 안전하게 나눠 가집니다.
4. 이후로는 서로 안전하게 공유한 '대칭키'로 데이터를 암호화해서 주고받습니다.

SSH(Secure Shell)란?

Secure Shell를 해석하면 -> 보안 쉘

  • 쉘이란? 사용자가 입력한 명령어를 해석하여 운영체제 핵심부(커널)에 전달하는 소프트웨어
  • SSH란? 멀리 떨어진 서버 컴퓨터의 CMD(터미널) 창을 안전하게 암호화해서 원격으로 제어하는 프로토콜이다.
  • 포트 번호: 22
  • 용도: 데이터 전송, 원격 접속 (ex. 집 컴퓨터로 멀리 있는 AWS 클라우드 리눅스 서버를 제어할 때 사용)

어떻게 암호화할까?
1. 채널 암호화: 접속하자마자 통신 터널 전체를 '대칭키'로 암호화해서 해커가 명령어 내용을 못 보게 막습니다.
2. 키 페어(Key Pair) 인증: 내 컴퓨터에는 '개인키', 서버에는 '공개키'를 등록해 둡니다. 로그인할 때 비밀번호를 치는 대신, 수학적 암호로 본인 인증을 처리하여 비밀번호 탈취 위험을 원천 차단합니다.


REST API란?

API란?

컴퓨터와 컴퓨터(혹은 프로그램과 프로그램)가 서로 데이터를 주고받기 위해 만든 '연결 창구' 또는 '데이터 주문서'

REST란?

REST는 자원을 구분해 자원의 상태를 주고 받는 것 을 말합니다.

  • 쉽게 말해서: API 주소를 정할 때 "누가 봐도 한눈에 알아보기 쉽게 주소를 예쁘고 직관적으로 설계하자"라고 만든 전 세계적인 약속(공식)입니다.

ex) REST API는 어떻게 주고받을까? (HTTP 메서드 사용)

REST API는 주소창에 지저분하게 행위(get_user, delete_user)를 적지 않고, 깔끔하게 자원 이름(users)만 명시한 뒤 HTTP 메서드로 상태를 주고받습니다.

  • GET (조회): GET /users ➔ 유저 목록 보여줘
  • POST (생성): POST /users ➔ 새로운 유저 한 명 추가해줘
  • PUT (수정): PUT /users/1 ➔ 1번 유저 정보 수정해줘
  • DELETE (삭제): DELETE /users/1 ➔ 1번 유저 삭제해줘

0개의 댓글