1. HTTP 기초
1.1. HTTP란
- 웹 브라우저(클라이언트)와 웹 서버가 HTML, 이미지, 영상 등의 데이터를 주고받기 위해 사용하는 통신 규칙(프로토콜)
- 비연결성(connectionless) : 클라이언트와 서버가 연결을 지속하지 않고 요청/응답 후 연결을 종료하여 서버 부담을 완화
- 무상태성(stateless) : 서버가 클라이언트의 이전 상태를 기억하지 않아 쿠키나 세션 등을 활용해 데이터를 유지
- 아래 그림은 웹 브라우저 연결의 기본적 절차를 나타냄

1.2. 리소스
- URI(Uniform Resource Identifier) : 인터넷에 있는 자원이 어디에 있는지 자원 자체를 식별하는 방법
- URL(Uniform Resource Locator) : 네트워크 상에서 자원이 어디에 있는지를 알려주기 위한 규약
- URN(Uniform Resource Name) : urn:scheme을 URI를 위한 역사적 이름

1.3. URL 해석
<scheme>://<name>:<password>@<host>:<port>/<path>;<parameter>?<query>#<fragment>
- scheme : 리소스를 가져오려면 어떤 프로토콜을 사용하여 서버에 접근하는지를 가리킴
- name : 몇몇 scheme은 리소스에 접근하기 위해 사용자 이름을 필요로 함
- password : 사용자의 비밀번호. 사용자 이름에 콜론(:)으로 이어서 기술함
- host : 리소스를 호스팅하는 서버의 호스트 명이나 IP 주소
- port : 리소스를 호스팅하는 서버가 열어놓은 포트 번호(HTTP 기본 번호는 80)