🦋 회선교환/패킷교환
- 회선교환 네트워크 : 최초의 네트워크, 전화교환원이 연결해줌. 사람마다 전용회선 있어서 사용중이면 기다려야 했음
- 패킷교환 네트워크 : 데이터를 패킷이란 작은단위로 나눠서 전송, 전용선이 없어 빠르고 효율적, 현재까지 사용중
🦋 IP, IP Packet
-
IP(인터넷 프로토콜) : 클라이언트가 인터넷망속 노드(다른컴퓨터)를 지나 서버와 통신하기 위한 규칙
-
IP는 지정한 IP주소에 패킷이란 통신단위로 데이터전달을 한다.
-
패킷 안에는 출발,도착ip등 정보가 포함됨
-
노드들은 데이터를 도착시키기위해 전달함. 도착성공하면 서버도 응답을 돌려줌
-
단점
- 비연결성 : 도착대상이 없어도 서버상태 모르니 일단 전송하게됨
- 비신뢰성 : 패킷이 중간에 소실되더라도 클라이언트는 알 방법없음, 패킷도착순서 보장못함
🦋 TCP vs UDP
- IP프로토콜보다 높은곳에 TCP 프로토콜이 있으므로 TCP로 위 단점 해결가능
- 채팅프로그램에서 메시지 보낼때
- HTTP메시지가 생성되면 Socket을 통해 전달된다.
- TCP 세그먼트를 생성한다.
- TCP/IP패킷이 생성되어 서버로 전송된다.
- http3는 udp를 쓰고있음
- tcp는 3 way handshake방식씀
🦋 OSI 7계층
- 제일 밑에있는 물리계층이 1계층
헤더 : 데이터를 보낼 때 각 계층에서 추가되는 정보
캡슐화 : 데이터에 헤더 붙여나가는 행위
역캡슐화 : 데이터를 받는 쪽은 하위계층에서 상위계층으로 전달하며 헤더를 제거해 나가는것
(결국 원본데이터가 전달되게 된다. )
🦋 HTTP
- 특징
- 무상태성 : 클라이언트에 서버가 고정되지않는다.
- 비연결성 : 요청을 주고받을때만 연결을 유지하고 응답끝나면 연결 끊음
🦋 HTTP 헤더
- http메시지는 헤더와 바디로 구분할 수 있음
- 헤더는 이름 : 값 형식을 가짐
- 헤더는 http전송에 필요한 부가정보를 담기 위해 사용
- 표현헤더는 요청, 응답 모두 사용함
요청(Request)에서 사용되는 헤더
From, Referer, User-Agent, Host, Origin, Authorization(토큰)
- 콘텐츠 협상 헤더 : 앞에 Accept가 붙음, 클라이언트가 선호하는 언어, 미디어타입 등
응답(Response)에서 사용되는 헤더
Server, Date, Location, Allow, Retry-After
🦋 HTTPS
- HTTP Secure의 약자
- HTTP와 달리 요청과 응답으로 오가는 내용을 암호화 한다.
암호화 방식
1. 대칭 키 암호화 방식 : 하나의 키만 사용가능, 연산속도 빠름, 키 보안에 신경써야함
2. 비대칭 키 암호화 방식 : 공개키(누구나 접근가능)로 암호화한 데이터를 보내면 비밀키를 가진 서버가 내용을 복호화할 수 있음
SSL/TTS 프로토콜
- 서버인증과 데이터 암호화를 하는 프로토콜
- 특징
- CA(인증서발급기관)를 통한 인증서 사용
- 대칭키, 공개키 암호화 방식 모두 사용