
HTTP(Hypertext Transfer Protocol)는 인터넷에서 데이터를 주고받기 위한 프로토콜입니다. 웹 브라우저와 웹 서버 간의 통신을 위한 기본적인 규약으로, 우리가 웹사이트를 방문할 때마다 사용됩니다.
무상태성(Stateless)
HTTP의 가장 중요한 특징 중 하나는 무상태성입니다. 서버가 클라이언트의 이전 요청에 대한 정보를 저장하지 않는다는 의미입니다. 즉, 각 요청은 독립적이며 이전 요청과의 연관성이 없습니다. 이러한 특성 때문에 쿠키, 세션, 토큰 등의 기술이 개발되었습니다.
클라이언트-서버 모델
HTTP는 클라이언트-서버 아키텍처를 기반으로 합니다. 클라이언트(보통 웹 브라우저)가 요청을 보내면 서버가 이에 응답합니다. 이러한 분리는 각 부분이 독립적으로 발전할 수 있게 합니다.
요청/응답 구조
HTTP 통신은 요청(Request)과 응답(Response)의 쌍으로 이루어집니다. 클라이언트가 서버에 요청을 보내고, 서버는 그에 대한 응답을 반환합니다. 각 요청과 응답은 헤더와 본문으로 구성됩니다.
URI(Uniform Resource Identifier)
URI는 인터넷에 있는 자원을 나타내는 유일한 주소입니다. 자원을 식별하기 위한 문자열입니다.
URL(Uniform Resource Locator)
URL은 URI의 한 종류로, 자원의 위치를 나타냅니다. 예를 들어 https://example.com/page.html은 URL입니다. URL은 프로토콜(https://)과 도메인(example.com), 경로(/page.html)로 구성됩니다.
쉽게 말해, 모든 URL은 URI이지만, 모든 URI가 URL은 아닙니다. URI에는 URL과 URN(Uniform Resource Name)이 포함됩니다.
HTTP는 현대 웹의 근간을 이루는 프로토콜로, 그 특성을 이해하는 것은 웹 개발에 있어 매우 중요합니다. 무상태성, 클라이언트-서버 모델, 요청/응답 구조라는 주요 특징을 가지고 있으며, URI와 URL의 개념을 이해하는 것도 웹 리소스에 접근하는 방식을 명확히 하는데 도움이 됩니다.