웹은 HTTP로 나타낸다
- HTTP (HyperText Transfer Protocol)
- 웹 문서 전송 프로토콜
- HTTP/1.1 버전이 현재 가장 많이 사용되고 있음
네트워크의 기본은 TCP/IP
- 프로토콜이란?
- 서로 다른 하드웨어와 운영체제 등을 가지고 서로 통신을 하기 위해 필요한 규칙
- TCP/IP란?
- 인터넷과 관련된 프로토콜 집합의 총칭
- TCP/IP 계층화의 장점
- 사양이 변경되었을 때 해당 계층만 바꾸면 된다.
- 각 계층 별로 내부 설계를 편하게 할 수 있다.
- 애플리케이션 계층 ⇒ 트랜스포트 계층 ⇒ 네트워크 계층 ⇒ 링크 계층
- 송신 측은 애플레이케이션 계층에서부터 내려가고, 수신 측은 반대로 애플리케이션 계층으로 올라감
- 각 계층을 거칠 때는 반드시 헤더에 해당 계층마다 필요한 정보를 추가함
- 반대로 수신 측에서는 각 계층을 거칠 때마다 반드시 해당 계층마다 사용한 헤더를 삭제함
- 애플리케이션 계층: 유저에게 제공되는 애플리케이션에서 사용하는 통신의 움직임을 결정
- 어느 웹 페이지를 보고 싶다는 HTTP 리퀘스트를 지시
- 트랜스포트 계층(TCP): 애플리케이션 계층에 네트워크로 접속되어 있는 2대의 컴퓨터 사이의 데이터 흐름을 제공
- 애플리케이션 계층에서 받은 데이터(HTTP 메시지)를 통신하기 쉽게 패킷으로 조각내어 일련번호를 붙인 후 네트워크 계층에 전달함
- 네트워크 계층(IP): 어떠한 경로로 상대의 컴퓨터까지 패킷을 보낼지 네트워크 상에서 패킷의 이동을 다룸
- 패킷: 전송하는 데이터의 최소 단위
- 수신지 MAC 주소를 추가해서 링크 계층에 전달함
- 링크 계층: 네트워크에 접속하는 하드웨어 측면을 다룸
HTTP와 관계가 깊은 IP, TCP, DNS 프로토콜
신뢰성을 담당하는 TCP (Transfer Control Protocol)
- 대용량의 데이터를 보내기 쉽게 작게 분해한 후 상대에게 보내고, 정확하게 도착했는지 확인하는 역할을 담당
- 바이트 스트림: 용량이 큰 데이터를 보내기 쉽게 TCP 세그먼트라고 불리는 단위 패킷으로 작게 분해하여 관리하는 것
- 통신의 신뢰성을 보장하기 위해 “쓰리웨이 핸드셰이킹” 방법을 사용함
- 패킷을 보낸 후 잘 도착했는지 여부를 상대에게 확인하는 것
- 패킷을 보냄 → 수신 측이 잘 받았다고 확인 → 송신 측이 패킷 교환이 완료되었음을 확인
배송을 담담하는 IP (Internet Protocol)
- 개개의 패킷을 상대방에게 전달하는 역할
- 전달 과정에 필요한 요소
- IP 주소: 각 노드에 부여된 주소
- MAC 주소: 각 네트워크 카드에 할당된 고유의 주소
- IP 통신은 MAC 주소에 의존해서 통신함 (MAC 주소를 이용해 목적지를 찾아감)
- ARP(Address Resolution Protocol)를 이용해서 수신지의 IP 주소를 바탕으로 MAC 주소를 조사할 수 있음
이름 해결을 담당하는 DNS (Domain Name System)
- 도메인명에서 IP 주소를 조사하거나 반대로 IP 주소로부터 도메인명을 조사하는 서비스를 제공
URI와 URL
- URL (Uniform Resource Locator)
- 웹 페이지를 표시하기 위해 입력하는 주소 (EX. https://www.google.co.kr/)
- 리소스의 장소 (네트워크 상의 위치)
- URI (Uniform Resource Identifiers)
- 리소스를 식별하기 위한 문자열 전반
이 글은 《그림으로 배우는 Http & Network Basic》를 참고하여 작성하였습니다.