1장 : 웹과 네트워크의 기본
- 웹 : HTML(문서 기술 언어) + HTTP(문서 전송 프로토콜) + URL(문서 주소 지정)
- 웹 브라우저(클라이언트)는 주소 입력란의 url에 의지하여 웹 서버로부터 리소스라고 불리는 파일 등의 정보를 얻음
- 웹은 HTTP라는 약속을 사용하는 통신으로 이루어져 있다
- http는 등장 당시에 주로 텍스트를 전송하는 프로토콜이었지만 지금은 웹의 틀을 넘어 다양하게 사용되는 프로토콜이 되었다
- 인터넷을 포함하여 일반적으로 사용하고 있는 네트워크는 TCP/IP라는 프로토콜에서 움직이고 있음
- 인터넷과 관련된 프로토콜들을 모은 것을 TCP/IP라고 부름 (총칭)
- 계층(Layer) : tcp/ip는 애플리케이션/트랜스포트/네트워크/링크 계층으로 나뉘어져 있음 -> 수정사항이 있을 때 해당 계층만 바꾸면 되고, 계층이 연결되어 있는 부분만 결정되어 있기 때문에 각 계층의 내부는 자유롭게 설계 가능
- 애플리케이션 계층 : 유저에게 제공되는 애플리케이션에서 사용되는 통신의 움직임을 결정함 -> ftp(인터넷을 통해 한 컴퓨터에서 다른 컴퓨터로 파일을 전송할 수 있도록 하는 방법과, 그런 프로그램) , dns(네트워크에서 도메인이나 호스트 이름을 숫자로 된 IP 주소로 해석해주는 TCP/IP 네트워크 서비스) 도 일종의 어플리케이션 , http도 이 계층에 포함됨
- 트랜스포트 계층 : 애플리케이션 계층에 네트워크로 접속되어 있는 컴퓨터 2대 사이의 데이터 흐름을 제공, TCP와 UDP가 있음
- 네트워크 계층 : 네트워크 상에서 패킷의 이동을 다룸(패킷이란 전송하는 데이터의 최소 단위) / 어떤 경로를 거쳐 상대의 컴퓨터까지 패킷을 보낼지를 결정하기도 함
- 링크 계층(혹은 데이터 링크 계층, 네트워크 인터페이스 계층) : 네트워크에 접속하는 하드웨어적인 면을 다룸 - 디바이스 드라이버, 네트워크 인터페이스 카드, 케이블 커넥트 등
- TCP/IP로 통신을 할 때 계층을 순서대로 거쳐(애플리케이션-트랜트포트-네트워크-링크) 상대와 통신을 함 / 송신 측은 애플리케이션 계층에서부터 내려가고 수신 측은 애플리케이션 계층으로 올라감
- 송신 측은 계층을 통과할 때마다 헤더(해당 계층마다 해당 계층에 필요한 정보를 헤더를 붙여 표현함)를 추가하고, 반대로 수신 측에서는 각 계층을 거칠 때마다 반드시 해당 계층마다 사용한 헤더를 삭제함