네트워크는 서로 연결된 여러 기기, 컴퓨터의 그룹이다.
ex) 컴퓨터나 스마트폰 같은 기기들이 서로 데이터를 주고받을 수 있도록 연결해 놓은 상태나 망
HTTP는 암호화를 하지 않고 데이터를 전송하라는 통신규약(프로토콜)
HTTPS는 암호화를 하고 데이터를 전송하라는 통신규약
https://www.youtube.com/watch?v=9zyH3aT0No4 이것이 HTTP와 HTTPS어떻게 암호화할까? (대칭키 + 비대칭키 조합)
1. 비대칭키(공개키/개인키): 처음 연결할 때 서버는 누구에게나 공개하는 '공개키'를 브라우저에게 줍니다.
2. 대칭키(비밀키): 내 브라우저는 진짜 데이터를 암호화할 '대칭키'를 하나 만듭니다. 이 키를 서버의 '공개키'로 서버로 보냅니다. (중간에 해커가 가로채도 못 연다.)
3. 서버는 자신만 가진 '개인키'로 그걸 열어서 대칭키를 안전하게 나눠 가집니다.
4. 이후로는 서로 안전하게 공유한 '대칭키'로 데이터를 암호화해서 주고받습니다.
Secure Shell를 해석하면 -> 보안 쉘
어떻게 암호화할까?
1. 채널 암호화: 접속하자마자 통신 터널 전체를 '대칭키'로 암호화해서 해커가 명령어 내용을 못 보게 막습니다.
2. 키 페어(Key Pair) 인증: 내 컴퓨터에는 '개인키', 서버에는 '공개키'를 등록해 둡니다. 로그인할 때 비밀번호를 치는 대신, 수학적 암호로 본인 인증을 처리하여 비밀번호 탈취 위험을 원천 차단합니다.
컴퓨터와 컴퓨터(혹은 프로그램과 프로그램)가 서로 데이터를 주고받기 위해 만든 '연결 창구' 또는 '데이터 주문서'
REST는 자원을 구분해 자원의 상태를 주고 받는 것 을 말합니다.
REST API는 주소창에 지저분하게 행위(get_user, delete_user)를 적지 않고, 깔끔하게 자원 이름(users)만 명시한 뒤 HTTP 메서드로 상태를 주고받습니다.
GET /users ➔ 유저 목록 보여줘POST /users ➔ 새로운 유저 한 명 추가해줘PUT /users/1 ➔ 1번 유저 정보 수정해줘DELETE /users/1 ➔ 1번 유저 삭제해줘