[network] Http network basic 1장
[Network] Http network basic 책 1장
‘그림으로 배우는 Http Network Basic’ 영진닷컴 책을 읽고 정리한 내용이다.
1장 웹과 네트워크 기본에 대해 알아보자
1.1 웹은 HTTP로 나타낸다
-> : 웹 브라우저에 URL을 입력했을 때
<- : 웹 서버로부터 리소스라고 불리는 파일 등의 정보를 얻어온다.
- 클라이언트 - 서버
- HTTP : 프로토콜 = 약속
1.2 HTTP는 이렇게 태어났고 성장했다
1.2.1 웹을 지식 공유를 위해 고안되었다
WWW를 구성하는 기술 3가지 : HTML 언어, HTTP 프로토콜, URL로 주소 지정
1.2.2 웹이 성장한 시대
1.2.3 진보 안하는 HTTP
HTTP/1.1 : 현재 가장 많이 사용되는 버전
1.3 네트워크의 기본은 TCP/IP
1.3.1 TCP/IP는 프로토콜의 집합
TCP/IP : 인터넷과 관련된 프로토콜들을 모은 것
1.3.2 계층으로 관리하는 TCP/IP
4계층 : 어플리케이션 계층, 트랜스포트 계층, 네트워크 계층, 링크 계층
- 어플리케이션 계층 : 어플리케이션에서 사용하는 통신의 움직임을 결정
- 트랜스포트 계층 : 데이터 흐름 제공. TCP, UDP 두가지 프로토콜이 존재
- 네트워크 계층(인터넷 계층) : 네트워크 상에서 패킷의 이동을 다룸. 길찾기 기능.
- 링크 계층 : 하드웨어적인 면을 다룸.
1.3.3 TCP/IP 통신의 흐름
송신 : 아래로 내려가고
수신 : 위로 올라간다.
1.4 HTTP와 관계가 깊은 프로토콜은 IP/TCP/DNS
1.4.1 배송을 담당하는 IP
IP의 역할 : 개개의 패킷을 상대방에게 전달하는 것. IP 주소와 MAC 주소를 활용한다.
- IP 주소 : 각 노드에 부여된 주소
- MAC 주소 : 각 네트워크 카드에 할당된 고유의 주소
IP 주소는 MAC 주소와 연결되어 있으며, IP 주소는 변하지만 MAC 주소는 변하지 않는다.
통신은 ARP를 이용하여 MAC 주소에서 한다.
ARP 프로토콜 : 수신지의 IP 주소를 바탕으로 MAC 주소를 조사할 수 있다.
1.4.2 신뢰성을 담당하는 TCP
신뢰성 있는 바이트 스트림 서비스를 제공한다.
바이트 스트림 서비스 : 용량이 큰 데이터를 보내기 쉽게 TCP 세그먼트라고 불리는 단위 패킷으로 작게 분해하여 관리하는 것
three way handshaking
SYN -> SYN/ACK -> ACK
1.5 이름 해결을 담당하는 DNS
DNS는 도메인 이름과 IP 주소 이름 확인을 제공한다. 즉 도메인명 -> IP 주소, IP 주소 -> 도메인명을 찾아주는 서비스 제공.
1.6 이들과 HTTP와의 관계
1.7 URI와 URL
1.7.1 URI는 리소스 식별자
URI는 리소스를 식별하기 위해 문자열 전반을 나타내는데 비해 URL을 리소스의 장소를 나타낸다.
URL은 URI의 서브셋이다.
1.7.2 URL 포맷
서버주소 : DNS 이름이나 IPv4 주소가 가능하다.
서버 포트 : 옵션이며 생략하면 디폴트 포트가 사용된다.
계층적 파일 패스 : 서버 상의 파일 패스를 지정한다.
쿼리 문자열 : 파일 패스로 지정된 리소스에 임의의 파라미터를 넘겨주기 위해 쿼리 문자열을 사용한다. 옵션이다.