Programming/etc

HTTP(하이퍼텍스트 전송 프로토콜)

esoog Polaris 2023. 7. 7. 18:41
반응형

# HTTP(하이퍼텍스트 전송 프로토콜)

 

웹에서 데이터를 교환하기 위해 사용되는 프로토콜입니다. 클라이언트와 서버 간의 통신을 가능하게 하며, 웹 브라우저와 웹 서버 사이에서 HTML 문서, 이미지, 동영상, 오디오 파일 등 다양한 종류의 데이터를 전송하는 데 사용됩니다.

HTTP는 클라이언트/서버 모델을 기반으로 작동합니다. 클라이언트는 HTTP 요청을 생성하고, 서버는 이러한 요청에 응답합니다. HTTP 요청과 응답은 일련의 텍스트 형식으로 구성되며, 주요 요소로는 요청 라인, 헤더, 본문이 있습니다.

1. 요청 라인(Request Line): 요청의 종류와 목적지를 나타냅니다. 주요 요소로는 HTTP 메서드(GET, POST, PUT, DELETE 등)요청 대상 URL(Uniform Resource Locator)이 포함됩니다.

2. 헤더(Headers): 요청이나 응답과 관련된 메타데이터를 포함합니다. 예를 들어, 클라이언트는 Accept 헤더를 통해 서버에게 어떤 데이터 유형을 선호하는지 알릴 수 있고, 서버는 Content-Type 헤더를 통해 응답으로 전송되는 데이터 유형을 지정할 수 있습니다. 헤더는 요청이나 응답에 대한 추가 정보를 전송하는 데 사용됩니다.

3. 본문(Body): 요청이나 응답에 포함되는 데이터가 있을 경우 이곳에 포함됩니다. POST 메서드와 함께 사용되는 웹 양식 데이터, JSON, XML, 파일 업로드 등이 본문에 포함될 수 있습니다.

클라이언트는 웹 브라우저, 모바일 애플리케이션, 커맨드 라인 도구 등의 형태로 존재할 수 있습니다. 클라이언트는 HTTP 요청을 생성하여 서버에 보내고, 서버는 해당 요청을 처리하고 클라이언트에게 HTTP 응답을 반환합니다. 응답은 상태 코드, 헤더 및 응답 본문으로 구성됩니다. 상태 코드는 요청의 성공 여부나 에러를 나타내는 숫자로 표시됩니다(예: 200 OK, 404 Not Found).

HTTP는 상태를 유지하지 않는(stateless) 프로토콜이므로, 각 요청은 서로 독립적입니다. 이를 위해 세션과 쿠키와 같은 메커니즘이 사용될 수 있습니다. 세션은 클라이언트와 서버 간의 상태를 유지하기 위한 수단으로, 쿠키는 클라이언트 측에서 상태 정보를 저장하고 전송하는 데 사용됩니다.

HTTP는 웹 브라우징을 비롯한 웹 애플리케이션 개발에서 가장 일반적으로 사용되는 프로토콜 중 하나이며, 웹 서비스, API 호출, 데이터 전송 등에 널리 사용됩니다.

728x90