나의 독학은

1장 - 웹과 네트워크의 기본 본문

학습/그림으로 배우는 Http & Network Basic

1장 - 웹과 네트워크의 기본

안종혁 2023. 8. 21. 16:00
웹 백엔드 개발자가 되기를 목표로 삼게 되면서 웹에 대한 이해가 필요했다.

다음은 [우.묻.다]에서 향로님이 웹 백엔드 개발자라면 읽어야 할 추천 도서 목록이다.
1. 그림으로 배우는 Http & Network Basic
2. Real MySQL
3. 웹 개발자를 위한 대규모 서비스를 지탱하는 기술 

소개한 3권은 쓰는 기술이 바뀌더라도 금방 적응 할 수 있게 베이스를 탄탄히 할 수 있는 책이라 하신다.
이 책을 읽고 웹의 기본 원리를 알 수 있길 바라면서 시작한다!

1.3 네트워크의 기본은 TCP/IP

✅컴퓨터가 서로 통신을 주고 받기 위해선 통신 방법이 같아야 함

→ 동일한 통신 방법을 위해 규칙을 정했고 이 규칙을 '프로토콜' 이라 부른다.

 

✅TCP/IP 는 2가지 방식으로 불린다.

① 인터넷과 관련된 프로토콜들을 총칭해서 TCP/IP로 부른다.

TCP와 IP 프로토콜을 가리켜 TCP/IP라 부른다.

 

번을 의미하는 TCP/IP는 4계층으로 나뉜다. 

- 애플리케이션 계층 : FTP, DNS, HTTP등이 포함됨
- 트랜스포트 계층 : 데이터의 흐름을 담당. TCP와 UDP가 있음
- 네트워크 계층 : 패킷의 이동을 다루고, 상대 컴퓨터까지 어떤 경로로 패킷을 보낼지를 결정
- 링크 계층 : 하드웨어적 같은 물리적인 부분을 담당. ex) 인터넷, Wi-Fi 등

*FTP : 파일 전송 프로토콜로 파일 전송할 때 쓰임

*DNS : 도메인 이름 시스템으로 도메인 이름과 IP주소를 서로 변환해줌

*패킷 : 전송하는 데이터의 최소 단위

1.4 HTTP와 관계가 깊은 프로토콜인 IP/TCP/DNS

✅배송을 담당하는 IP

역할 : 개개의 패킷을 상대방에게 전달

통신 방법 : ARP란 프로토콜을 이용하여 MAC주소에서 한다.

 *MAC주소 : 각 네트워크 카드(네트워크 기기)에 할당된 고유 주소

 

✅신뢰성을 담당하는 TCP

역할 : 대용량의 데이터를 작게 분해해서 상대에게 보내고, 도착했는지 확인함.

방법 : 3-way handshaking 라 부른다.

출처 : https://www.techopedia.com/definition/10339/three-way-handshake
그림 1. 3-way handshaking

1. 송신측에서 SYN 플래그로 상대에게 접속함과 동시에 패킷을 보냄
2. 수신측에서 SYN/ACK 플래그로 송신측에 접속함과 동시에 패킷을 수신한 사실을 전함
3. 송신측이 ACK 플래그를 보내 패킷 교환이 완료됨을 전함
이 과정 중 도중에 끊키면 다시 1의 과정을 밟음

 

✅이름 해결을 위한 DNS

역할 : 사용자가 입력한 도메인 이름을 컴퓨터에게 친숙한 IP주소로 바꿔줌

도메인 이름 : www.naver.com  
                         ↓
IP주소 : 20X.189.105.112 같이 숫자를 나열

1.7 URI와 URL

✅URL은 URI의 속해있음

URL예시 →  http://user:pass@www.example.com:80/

http:// 는 스키마로 리소스를 얻기 위해 사용하는 프로토콜을 지시

user:pass 는 자격정보로 유저명과 패스워드를 지정할 수 있고, 생략 가능하다

www.example.com 은 도메인 이름이나 IP주소를 입력

:80 은 서버 포트로 생략 시 디폴트 번호가 사용됨

 

그림으로 배우는 Http & Network Basic

출처 : 그림으로 배우는 Http & Network Basic

그림 1 출처 : https://www.techopedia.com/definition/10339/three-way-handshake