본문 바로가기
cs

[네트워크] HTTP - HyperText Transfer Protocol

by 최연탄 2022. 12. 1.
728x90
반응형

참고: https://www.cloudflare.com/ko-kr/learning/ddos/glossary/hypertext-transfer-protocol-http/

HTTP 란?

Hypertext Transfer Protocol(HTTP)은 World Wide Web의 기반이며 하이퍼텍스트 링크를 사용하여 웹 페이지를 로드하는데 사용됩니다. HTTP는 네트워크 장비 사이에 정보를 전송하기위해 설계된 애플리케이션 계층 프로토콜이며 네트워크 프로토콜 스택의 상위 계층에서 실행됩니다. 일반적인 HTTP 흐름은 클라이언트 장비가 서버에 데이터를 요청한 다음 서버가 응답 메시지를 보내는 것 입니다.

HTTP request 란?

HTTP 요청이란 웹 브라우저와 같은 인터넷 통신 플랫폼이 웹 사이트를 로드하는데 필요한 정보를 요청하는 방법을 말합니다.

인터넷을 통해 이루어진 각각의 HTTP 요청은 여러 유형의 정보를 전달하는 인코딩된 데이터를 포함하고 있습니다. 일반적인 요청은 다음을 포함하고 있습니다.

  • HTTP 버전 타입
  • URL
  • HTTP method
  • HTTP request 헤더
  • 옵션으로 HTTP body

위의 요청이 작동하는 방법과 요청 내용을 사용하여 정보를 공유하는 방법에 대해 자세히 알아보겠습니다.

- HTTP method 란?

HTTP method는 HTTP 요청이 쿼리된 서버가 처리해줄 작업 방법을 나타냅니다. 예를 들면, 가장 일반적인 HTTP 메서드 중 두 개는 'GET'과 'POST'입니다. 'GET' 요청은 정보(일반적으로 웹사이트 양식)를 받길 원하는 반면 'POST' 요청은 일반적으로 클라이언트가 웹 서버에 정보(예: 사용자 이름 및 비밀번호와 같은 양식 정보)를 제출하고 있음을 나타냅니다.

- HTTP request header 란?

HTTP 헤더는 key-value 쌍에 저장된 텍스트 정보를 가지며, 모든 HTTP 요청(및 응답, 자세한 내용은 뒤에 설명)에 포함됩니다. 이러한 헤더는 클라이언트가 어떤 브라우저를 사용하고 있는지, 어떤 데이터를 요청하는지 등과 같은 핵심 정보를 전달합니다.

다음은 Google Chrome 디버거의 네트워크 탭의 HTTP 요청 헤더의 예입니다.

- HTTP request body 란?

요청의 body는 요청이 전송하는 정보의 '본문'이 들어있는 부분입니다. HTTP 요청의 body에는 사용자 이름과 비밀번호 또는 양식에 입력된 데이터와 같이 웹 서버에 제출되는 모든 정보가 포함됩니다.

HTTP response 란?

HTTP response는 웹 클라이언트(대부분 브라우저)가 HTTP request에 대한 응답으로 인터넷 서버로부터 수신하는 데이터입니다. 이러한 응답은 HTTP request에서 요청된 내용을 기반으로 원하는 정보를 전달합니다.

일반적인 HTTP 응답은 다음을 포함합니다.

  • HTTP status code
  • HTTP response 헤더
  • 옵션 값 HTTP body

- HTTP status code 란?

HTTP status code는 HTTP 요청이 성공적으로 완료되었는지를 나타내기 위해 사용하는 세 자리 코드입니다. 상태 코드는 다음의 5개 블록으로 나뉩니다.

  • 1xx Informational
  • 2xx Success
  • 3xx Redirection
  • 4xx Client Error
  • 5xx Server Error

"xx"는 00에서 99 사이의 값 입니다.

숫자 '2'로 시작하는 상태 코드는 성공을 나타냅니다. 예를 들어, 클라이언트가 웹 페이지를 요청했을 때 가장 일반적인 응답의 상태 코드는 '200 OK'인데 이는 요청이 제대로 완료되었음을 나타냅니다.

응답이 '4' 또는 '5'로 시작하면 오류가 발생하여 웹 페이지가 표시되지 않습니다. '4'로 시작하는 상태 코드는 클라이언트 측 오류를 나타냅니다(URL에 오타가 나면 대부분 '404 Not FOUND' 상태 코드가 발생). '5'로 시작하는 상태 코드는 서버 측에 문제가 발생했음을 의미합니다. 상태 코드는 '1' 또는 '3'으로 시작할 수도 있으며, 이는 각각 정보 응답과 리디렉션을 나타냅니다.

- HTTP response header 란?

HTTP request와 마찬가지로 HTTP response에는 응답 body에 들어갈 데이터의 언어나 형식같은 중요 정보를 전달하는 헤더가 포함됩니다.

다음은 Google Chrome 디버거의 네트워크 탭에서 확인할 수 있는 HTTP response header의 예 입니다.

- HTTP response body 란?

'GET' 요청에 성공한 HTTP 응답에는 대부분 요청한 정보가 포함된 body가 있습니다. 대부분의 'GET' 요청의 응답은 웹 브라우저가 웹 페이지로 로드할 HTML 데이터입니다.

관련 글

패킷이란?

HTTPS란?

반응형

'cs' 카테고리의 다른 글

[네트워크] HTTPS 설명 및 작동방법  (4) 2023.02.01
[네트워크] SSL 인증서란? 정의 및 설명  (2) 2022.12.14
[네트워크] CORS, 해결 방법  (2) 2022.11.01
[네트워크] 프록시 Proxy  (1) 2022.10.06
[네트워크] 패킷 Packet  (2) 2022.09.23

댓글