본문 바로가기
Internet

[Internet] HTTP란 무엇인가?

by DevPark 2023. 2. 2.

HTTP란 무엇인가?

HTTP(Hypertext Transfer Protocol)는 클라이언트와 서버가 서로 통신하는 방법을 표준화하는 TCP/IP 기반 응용 계층 통신 프로토콜입니다.콘텐츠가 인터넷을 통해 요청되고 전송되는 방법을 정의합니다.

 

HTTP(Hypertext Transfer Protocol)는 월드 와이드 웹의 기반이며 하이퍼텍스트 링크를 사용하여 웹 페이지를 로드하는데 사용됩니다. HTTP는 네트워크 장치 간에 정보를 전송하도록 설계된 응용 계층 프로토콜이며 네트워크 프로토콜 스택의 다른 계층 위에서 실행됩니다. HTTP를 통한 일반적인 흐름은 클라이언트가 서버에 요청을 하고 응답 메시지를 보내는 것을 포함합니다.

 


HTTP 요청에는 무엇이 있을까?

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

 

인터넷을 통해 만들어진 각각의 HTTP 요청은 서로 다른 유형의 정보를 전달하는 일련의 인코딩된 데이터를 가지고 있습니다. 일반적인 HTTP 요청에는 다음이 포함됩니다;

1. HTTP 버전 유형
2. URL
3. HTTP 방식
4. HTTP 요청 헤더
5. 선택적 HTTP 본문입니다.

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


HTTP 메서드란?

HTTP 메서드(HTTP 동사라고도 함)는 HTTP 요청이 쿼리된 서버에서 예상하는 작업을 나타냅니다. 예를 들어, 가장 일반적인 두 가지 HTTP 메서드는 'GET'와 'POST'입니다. 'GET' 요청은 반환되는 정보(일반적으로 웹 사이트 형식)를 기대하는 반면, 'POST' 요청은 일반적으로 클라이언트가 웹 서버에 정보(예: 제출된 사용자 이름 및 암호)를 제출하고 있음을 나타냅니다.


HTTP요청 헤더란?

HTTP 헤더는 키-값 쌍에 저장된 텍스트 정보를 포함하며, 모든 HTTP 요청(및 응답, 나중에 더 자세히)에 포함됩니다. 이러한 헤더는 클라이언트에서 사용 중인 브라우저와 요청 중인 데이터와 같은 핵심 정보를 전달합니다.

Google Chrome의 네트워크 탭에서 HTTP 요청 헤더의 예:

Google Chrome Request Header
Google Chrome Request Header


HTTP 요청 본문에는 무엇이 있을까?

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

HTTP 응답에는 무엇이 있을까?

HTTP 응답은 웹 클라이언트(주로 브라우저)가 HTTP 요청에 대한 응답으로, 인터넷 서버로부터 받는 응답입니다. 이러한 응답은 HTTP 요청에서 요청된 내용을 기반으로 중요한 정보를 전달합니다.

일반적인 HTTP 응답에는 다음이 포함됩니다:

1. HTTP 상태 코드
2. HTTP 응답 헤더
3. 선택적 HTTP 본문

 

▶ HTTP 상태 코드란?

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

1xx 정보
2xx 성공
3xx 리다이렉션
4xx 클라이언트 오류
5xx 서버 오류
"xx"는 00과 99 사이의 다른 숫자를 나타냅니다.

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

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

 

HTTP 응답 헤더란?

HTTP 요청과 마찬가지로 HTTP 응답은 응답 본문에서 전송되는 데이터의 언어 및 형식과 같은 중요한 정보를 전달하는 헤더와 함께 제공됩니다.

Google Chrome의 네트워크 탭에 있는 HTTP 응답 헤더의 예:

Google Chrome Response Header
Google Chrome Response Header

 HTTP 응답 본문에는 무엇있을까?

 

'GET' 요청에 대한 성공적인 HTTP 응답에는 일반적으로 요청된 정보가 포함된 본문이 있습니다. 대부분의 웹 요청에서 이것은 웹 브라우저가 웹 페이지로 변환하는 HTML 데이터입니다.


HTTP를 통해 DDoS 공격을 시작할 수 있을까?

HTTP는 "상태 비저장" 프로토콜이며, 이는 각 명령이 다른 명령과 독립적으로 실행된다는 것을 의미합니다. 원래 사양에서 HTTP 요청은 각각 TCP 연결을 만들고 닫았습니다. HTTP 프로토콜의 최신 버전(HTTP 1.1 이상)에서 영구 연결은 영구 TCP 연결을 통해 여러 HTTP 요청을 전달할 수 있게 하여 리소스 소비를 개선합니다. DoS 또는 DDoS 공격의 맥락에서 대량의 HTTP 요청은 대상 장치에 공격을 탑재하는 데 사용될 수 있으며 응용 프로그램 계층 공격 또는 7계층 공격의 일부로 간주된다.


원문출처
반응형

'Internet' 카테고리의 다른 글

[Internet] 인터넷의 이해 (2)  (0) 2023.01.18
[Internet] 인터넷의 이해 (1)  (0) 2023.01.17

댓글