그림으로 배우는 Http & Network Basic : 웹과 네트워크의 기본에 대해 알아보자

해버니·2022년 12월 20일
0

TIL

목록 보기
3/9
post-thumbnail

그림으로 배우는 Http & Network Basic 을 보고 정리한 내용입니다.




1장 : 웹과 네트워크의 기본에 대해 알아보자

웹이라는 세계가 어떤 기술로 구성되어 있는가
http는 어떻게 탄생했고 성장해 왔는가




웹은 HTTP로 나타낸다.

HTTP : HyperText Transfer Protocol
Protocol : 정해놓은 약속

웹은 HTTP라는 약속을 통한 통신으로 이루어져 있다.





HTTP가 등장하게 된 배경

1989년 3월에 HTTP가 탄생하게 되었다.
유럽 입자 물리학 연구소의 팀 버너스 리 박사는 멀리 떨어져 있는 동료 연구자와 지식을 공용하게 할 수 있도록 시스템을 고안하였다.

문서 기술 언어로는 SGML을 베이스로 한 HTML
문서 전송 프로토콜로는 HTTP
문서의 주소를 지정하는 방법으로 URL등 세 가지가 제안되었다.


1990年 HTML1.0

애매한 부분이 많았기 때문에 초안인 상태로 폐기

1993年 모자이크(Mosaic) 개발

NCSA(미국 수퍼 컴퓨터 응용 연구소)에서 현재 사용하는 웹 브라우저의 선조라고 말할 수 있는 모자이크를 개발했다.

윈도우 판과 매킨토시 판도 개발되었다.
CGI를 사용할 수 있는 웹 서버와 NCSA HTTPd 1.0이 등장한 것도 이 무렵이다.

1994年 넷스케이프 - 내비게이터 1.0 | 마이크로소프트사 - 인터넷 익스플로러 1.0 & 2.0

아파치도 Apache 0.2로 등장했고 HTML 2.0도 발행되었다.

1995年 마이크로소프트사 VS 넷스케이프사 경쟁 과열

두 회사는 독자적으로 HTML을 확장해나갔기 때문에 HTML 콘텐츠를 만드는 유저들을 곤란하게 만들었다.
결국 넷스케이프사의 쇠퇴와 함께 2000년 경에 일단 결말이 나게 된다.

BUT...


2004年 모질라 파이어폭스(Mozilla Firefox) 출시

새로운 브라우저의 출시로 제 2차 브라우저 전쟁에 돌입하게 된다.





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

인터넷을 포함하여 일반적으로 사용하고 있는 네트워크는 TCP/IP라는 프로토콜에서 움직이고 있다.
HTTP는 그 중 하나이다.


TCP/IP 계층(Layer)



응용 계층 (애플리케이션 계층)

유저에게 제공되는 애플리케이션에서 사용하는 통신의 움직임을 결정하고 있다.

FTP, DNS, HTTP도 이 계층에 포함된다.

FTP : 파일 전송 프로토콜
DNS : 도메인 네임 시스템

전송 계층

2대의 컴퓨터 사이의 데이터 흐름을 제공한다.
TCP와 UDP가 이 계층에 속한다.

인터넷 계층

네트워크 상에서 패킷의 이동을 다룬다.

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

인터넷의 경우라면 상대 컴퓨터에 도달하는 동안에 여러 대의 컴퓨터랑 네트워크 기기를 거쳐서 상대방에게 배송된다.
그러한 여러 가지 선택지 중에서 하나의 길을 결정하는 것이 네트워크 계층의 역할이다.

링크 계층

네트워크의 접속하는 하드웨어적인 면을 다룬다.
하드웨어적 측면은 모두 링크 계층의 역할이다.


TCP/IP 통신의 흐름

각 계층을 거칠 때는 반드시 헤더로 불려지는 해당 계층마다 해당 계층에 필요한 정보를 추가한다.
반대로 수신측에서는 각 계층을 거칠 때마다 반드시 해당 계층마다 사용한 헤더를 삭제한다.
이렇게 정보를 감싸는 것을 캡슐화라고 부른다.







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

배송을 담당하는 IP : 네트워크 층

IP : Internet Protocol

실제 이름 그대로 인터넷을 활용하는 거의 대부분의 시스템이 IP를 이용하고 있다.

IP의 역할은 개개의 패킷을 상대방에게 전달하는 것이다.
그 중에서도 IP 주소와 MAC 주소라는 요소가 중요하다.


IP 주소 : 각 노드에 부여된 주소 (변경 가능)
MAC 주소 : 각 네트워크 카드에 할당된 고유의 주소 (변경 불가능)

IP 통신은 MAC 주소에 의존해서 통신을 한다.
통신할 때 여러 대의 컴퓨터와 네트워크 기기를 중계해서 상대방에게 도착하게 된다.
중계하는 동안 다음으로 중계할 곳의 MAC 주소를 사용하여 목적지를 찾아가는 것이다.
이때, ARP(Address Resolution Protocol)이라는 프로토콜이 사용된다.
ARP는 주소를 해결하기 위한 프로토콜 중 하나인데, 수신지의 IP 주소를 바탕으로 MAC 주소를 조사할 수 있다.



신뢰성을 담당하는 TCP : 전송계층

"신뢰성 있는" "바이트 스트림 서비스"를 제공

바이트 스트림 서비스 : 용량이 큰 데이터를 보내기 쉽게 TCP 세그먼트라고 불리는 단위 패킷으로 작게 분해햐여 관리하는 것
신뢰성 있는 서비스 : 상대방에게 보내는 서비스

결국 TCP는 대용량의 데이터를 작게 분해하여 상대에게 보내고, 정확하게 도착했는지 확인하는 역할을 담당한다.






이름 해결을 담당하는 DNS

DNS 는 HTTP와 같이 응용 계층 시스템에서 도메인 이름과 IP 주소 이름 확인을 제공한다.
사람은 www.naver.com과 같이 영어나 숫자로 표기하는 것이 편리하고
컴퓨터는 숫자를 나열하는 것을 더 편리해한다.

이 문제를 해결하기 위해 DNS가 있는 것인데
도메인명에서 IP 주소를 조사하거나 반대로 IP 주소로부터 도메인명을 조사하는 서비스를 제공하고 있다.




0개의 댓글