[4기] 백엔드 개발자 부트캠프 "오르미" ~ing/[4기] 백엔드 개발자 부트캠프 오르미 수업 복습

[백엔드 개발자 부트캠프 '오르미4기' 1일차] 네트워크 기초 배우기

sohee99 2024. 1. 2. 21:30

Internet 

- 컴퓨터 네트워크 통신망 의미 

- 프로토콜(TCP/IP) 기반 통신

- 웹뿐만아니라, 전자메일, 파일공유, 동영상스트리밍 등 다양한 서비스 포함

 

Request, Response 를 설계하고, 전달받은 데이터를 처리하는 사람이 개발자!

 

1.  웹 브라우저 요청 흐름

1) 웹브라우저 ( www.naver.com  )를 입력할 경우 DNS서버에 요청하게 된다.

2) DNS 서버에서 IP주소 반환 

3) 웹서버 전달 

4. 웹서버 > 웹브라우저로 데이터가공 & 응답 

 

* 웹서버 전달 중 L4 스위치 장치가 어떤 서버에 보낼지 결정해준다.

L4가 일정 배분되도록 데이터 전달 한다.

 

웹브라우저 요청 흐름

 

DNS - Domain Name System 약자

> 인터넷을 편리하게 사용할 수 있도록 제공해주는 체계

 

* 매번 바뀌는 IP주소를 외우기 힘들기 때문에 도메인 네임 시스템 이용하여 웹 페이지 접속

 

cmd - nslookup naver.com 으로 네이버 IP 확인

 

HTTP ( P는 프로토콜의 약자 )

 

EX) 

http://www.google.com:80/app/index.html

 

PORT 번호 : 80 생략된 것

+ 둘 이상을 한번에 연결해야할 때 하나의 IP안에서 여러 요청 < 연결단자라고 생각 >

 

[ PORT 정해진 규약 ]

 

0~ 1023 > 할당받은 자리가 있음 EX) HTTP : 80포트, HTTPS : 443포트

0~ 65535 까지 할당가능 

 

 

URI : /app/index.html (추가주소)

 

HTTP의 암호화되지 않은 평문으로 통신 및 수신 메시지가 도중 변조 가능성  즉, 안전하지 않은 프로토콜 

 

이런 허점을 보안하기 위하여 암호화, 인증, 보호 구조를 HTTP에 추가하여 HTTPS ( HTTP Secure ) 라고 불린다.

 

IP ( 인터넷 프로토콜 ) > 통신에 필요한 규약(프로토콜)

 

패킷 : ( package + Bucket ) 패킷이라는 통신 단위로 데이터를 전달 

! 이때 필요한 주소가 IP Address !

 

IP 프로토콜

 

IP 프로토콜 단점 

> 서버가 패킷을 받을 수 있는 상황이 아니지만 출발점에서 알 수 없다

> 패킷이 전달 되다가 소실

> 전달 순서를 보장할 수 없다.

 

이것을 보완해낸 프로토콜 = TCP 프로토콜

 

TCP

- TCP 3 way handshake  * 3번 리트라이 가능  * 3번 통신

- 데이터 전달 보증

- 순서보장

 

인터넷 프로토콜 4계층 ( TCP/IP 4계층 )

인터넷 프로토콜 4계층 / 출처: ESTsoft notion

 

1계층 : 네트워크 액세스 계층 ( 웹 브라우저, 네트워크 게임 등 )

- 물리계층과 데이터 링크계층 해당! 물리적인 주소로 MAC 사용

 

2계층 : 전송계층 ( TCP/UDP )

통신 노드간의 연결을 제어하고 신뢰성있는 데이터 전송을 담당

 

3계층 : 인터넷 계층 ( IP )

- 네트워크상 최종목적지까지 정확하게 연결되도록 연결성을 제공

 

4계층 : 네트워크 인터페이스 계층 ( LAN 장비, 드라이버 ) 

-세션계층, 표현계층, 응용계층에 해당/ 프로그램이 동작하는 계층

 

TCP/IP 4계층

TCP/IP 4계층 / 출처: ESTsoft notion

 

상태코드 

- 응답의 성공여부와 정보를 나타낸다. 

 

> 200 대( 성공 ) : 요청 성공적 처리

> 300 대( 리다이렉트 ) : 요청을 완료하기 위해 추가동작 필요

> 400 대( 클라이언트 오류 ) : 서버 요청 불가능

> 500 대( 서버 오류 ) : 서버 요청 처리 실패

 

개발자 도구를 이용해 상태코드 보기!

 

HTTP 메서드 

- 요청의 의도를 나타냄

 

GET : 존재하는 자원에 대한 요청

POST : 새로운 자원을 생성하는 요청

PUT : 존재하는 자원을 수정하는 요청

DELETE : 존재하는 자원을 삭제하는 요청

PATCH : 일부 리소수를 수정하는데 사용되는 메서드

 

* 여기서 자원이라 함은 = 사이트결과물

 

오늘 01.02 1일차는 간단한 OT와 짧게나마 네트워크의 기초에 대해 배웠습니다!👍😊

 

 

 

[ 오늘 배운 내용 " 네트워크 기초 " 복습 완료 ]

 

그럼, 내일도 파이팅!!!!!!!!!