HTTP란? HTTP 헤더와 상태코드 2xx 등의 의미

HTTP(HyperText Transfer Protocol)W3에서 정보를 주고 받을 수 있는 프로토콜입니다. 하이퍼 텍스트 전송 프로토콜은 웹 브라우저와 같은 통신 플랫폼에 웹 사이트를 로드할 때 사용되며 인터넷에서 데이터(HTML, CSS, 이미지, 비디오 등)를 전송하는데 사용되는 프로토콜입니다.

HTTP 요청 정보

HTTP 요청에는 보통 5가지의 정보를 확인할 수 있습니다.

ⓐ HTTP 버전 
ⓑ URL
ⓒ HTTP 메서드
ⓓ HTTP 헤더
ⓔ 선택 사항인 HTTP 본문

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

1. HTTP 버전

HTTP 버전은 초기 버전이 없을 때부터 시작하여 HTTP/1.0이 발표되면서 초기 버전은 HTTP/0.9가 됩니다. 이후 HTTP/1.1, HTTP/2를 거쳐 HTTP/3까지 버전이 나오게 됩니다. 2020년 대 전 후 HTTP는 2와 3버전이 병행되어 사용되고 있습니다.

2. HTTP 요청 URL

URL은 서버에 자원을 요청하기 위한 주소입니다.

EX) HTTPS://uknew.co/도메인이란

3. HTTP 메서드

HTTP 메서드는 웹 클라이언트와 서버 간의 통신에서 사용되는 요청 방식을 나타내는 것입니다. 이는 클라이언트가 원하는 작업을 서버에게 알리고, 서버는 이에 따른 작업을 수행하는 방식을 결정할 수 있도록 합니다.

HTTP 메서드는 주어진 리소스에 대해 수행하길 원하는 행동을 나타내며, 일반적으로 다음과 같은 동사들이 사용됩니다.

HTTP 메서드설명
GET서버에서 특정 리소스의 정보를 가져오기 위해 사용됩니다.
POST클라이언트에서 서버로 데이터를 제출하고, 서버의 상태를 변경하기 위해 사용됩니다.
HEADGET 메서드와 동일하지만, 응답 본문을 포함하지 않습니다.
DELETE특정 리소스를 삭제하기 위해 사용됩니다.
PUT클라이언트에서 서버로 데이터를 전송하여, 해당 리소스를 완전히 대체하거나
새로 생성하기 위해 사용됩니다.
CONNECT클라이언트가 프록시 서버를 통해 다른 네트워크와 터널을 맺을 때 사용됩니다.
OPTIONS목적 리소스의 통신을 설정하는 데 사용됩니다.
TRACE클라이언트와 서버 간의 통신 메시지를 반복하여 테스트합니다.
PATCH특정 리소스의 일부분을 수정하기 위해 사용됩니다.

4. HTTP 헤더

HTTP 요청과 응답에는 모두 헤더가 포함됩니다. 이 헤더는 키-값 쌍으로 구성된 텍스트 정보를 담고 있으며, 클라이언트가 사용하는 브라우저와 요청하는 데이터 등과 같은 핵심 정보를 전달합니다. HTTP 헤더는 웹 브라우저와 서버 간의 통신에서 중요한 역할을 하며, 클라이언트와 서버가 서로 정보를 주고받는 데 필수적인 요소입니다.

크롬 개발자 도구를 통해 HTTP 헤더에는 앞서 언급한 요청 URL과 요청 메서드 등의 정보와 응답 헤더와 요청 헤더를 확인할 수 있습니다.

HTTP 헤더(요청 URL과 응답 헤더 및 요청 헤더 정보)

5. HTTP 요청 본문

HTTP 요청 본문에는 텍스트, 이미지, 오디오 등 다양한 종류의 데이터를 포함할 수 있습니다. 이 데이터는 요청을 처리하는 서버에서 분석되고 처리됩니다. 요청 본문의 크기는 HTTP 요청 헤더에 Content-Length 헤더 필드로 명시됩니다.

요청 본문은 일반적으로 HTML 폼 데이터, JSON 데이터, XML 데이터, 멀티파트 데이터 등과 같은 다양한 형식으로 전송됩니다. HTTP 요청 본문은 보안적인 이유로 암호화되어 전송되기도 합니다.

요청 본문은 일반적으로 HTML 폼 데이터, JSON 데이터, XML 데이터, 멀티파트 데이터 등과 같은 다양한 형식으로 전송됩니다. HTTP 요청 본문은 보안적인 이유로 암호화되어 전송되기도 합니다.

HTTP 상태코드

코드메시지설명
1XXInformational(정보)정보 교환.
100Continue클라이언트가 서버에게 요청을 보내고, 서버가 해당 요청의 일부를 받았음을 의미. 이때 서버는 클라이언트에게 나머지 요청 정보를 계속 보내주길 바라는 의도로 100 상태 코드 반환(HTTP 1.1에서 처음으로 도입)
101Switching Protocols클라이언트가 요청한 리소스가 요청된 URI의 표준 프로토콜(HTTP 또는 HTTPS)이 아닌 다른 프로토콜(예: WebSocket)을 사용하기 위해 서버가 변경되었음을 나타냄. 서버는 Upgrade 헤더를 사용하여 클라이언트와 새로운 프로토콜로 통신할 것임을 알리게 되며,이를 통해 클라이언트는 새로운 프로토콜을 사용하여 서버와 통신할 수 있음
2XXSuccess(성공)데이터 전송이 성공적으로 이루어졌거나 이해되었거나 수락된 것을 나타냄.
200OK전송이 성공적으로 완료됨.
202Accepted클라이언트의 요청이 수락되었음.
203Non-authoritavive Information클라이언트 요청 중 일부가 성공적으로 전송됨.
204Non Content클라이언트 요청에 대한 처리는 완료되었으나, 서버가 전송할 데이터가 없음을 의미.
205Reset Content새 문서 없음. 하지만 브라우저는 문서 창을 리셋해야 함. (HTTP 1.1에서 처음으로 도입)
206Partial Content클라이언트가 Range 헤더와 함께 일부분만 요청하고, 서버가 해당 부분만 전송한 상태 (HTTP 1.1에서 처음 등장)
3XXRedirection(방향 바꿈)자료의 위치가 바꿤.
300Multiple Choices최근에 이전된 데이터 요청
301Moved Permanently요구한 데이터를 변경한 새 URL에서 찾음
302Moved Permanently요구한 데이터가 변경된 URL에 있음을 명시.
301과 비슷하지만 새 URL이 일시적인 것으로 간주
303See Other요청한 데이터 미 변경으로 문제 있음.
새로운 요청이 필요함. (주로 POST 요청에 대한 응답으로 사용됨)
304Not modified클라이언트의 캐시에 저장된 문서를 선택적으로 요청하여 문서가 수정되지 않았음을 알리는 상태 코드.(지정된 날짜보다 더 나중의 문서만을 보여주도록 하는 If-Modified-Since 헤더의 경우).
305Use Proxy요청한 문서는 프록시를 통해 추출되어야 함. (HTTP 1.1에서 처음으로 도입)
307Temporary Redirect임시적으로 자료 옴겨짐
4XXClient Error(클라이언트 오류)클라이언트 측에서 발생한 오류. 주소를 잘못 입력하거나 요청이 잘못되었음을 나타냄.
400Bad Request요청 실패. 문법상 오류로 서버가 요청사항을 처리하지 못함.
401.1Unauthorized권한 없음 (접속실패). 서버에 로그인하려는 요청이 서버에 저장된 권한과 일치하지 않음.
401.2Unauthorized권한 없음 (서버설정으로 인한 접속 실패). 클라이언트의 요청이 서버에 들어있는 권한과 일치하지 않음.
401.3Unauthorized자원에 대한 ACL에 기인한 권한 없음. 클라이언트가 특정 자료에 접근할 권한이 없음.
401.4Unauthorized권한 없음 (필터에 의한 권한 부여 실패). 서버의 필터 프로그램이 권한을 부여하지 못해서 클라이언트가 자원에 접근할 수 없는 경우.
401.5UnauthorizedISA PI나 CGI프로그램에 의한 권한 부여 실패로 클라이언트는 해당 자원에 접근할 수 없음.
402Payment Required예약됨.
403.1Forbidden금지 (수행접근 금지). 요청한 동작이 허용되지 않음. 수행시키지 못하도록 설정된 디렉터리 내의 파일을 수행하려고 했을 때 발생하는 오류.
403.2Forbidden접근한 디렉터리에 가용한 기본 페이지가 없어서 읽기 접근이 금지됨.
403.4Forbidden금지 (SSL 필요함). 클라이언트가 SSL 보안 연결을 사용하지 않고 SSL이 필요한 페이지에 액세스하려고 시도했을 때 발생
403.5Forbidden금지 (SSL 128필요함). 페이지(서버)가 128비트의 SSL로 보안유지 되고 있어 접근이 금지됨
403.6ForbiddenIP 차단. 사용자가 접속하려는 IP가 차단되어 접속할 수 없는 상태임.
403.7Forbidden클라이언트가 자료에 접근할 수 있는지 확인이 필요하여 접근이 금지됨.
403.8Forbidden사이트에 접근하는 것이 허락되지 않거나 서버가 요청사항을 수행하지 않아 접근 거부됨.
403.9Forbidden접근금지 (연결된 사용자수 과다). 서버가 BUSY 상태로 요청을 수행할 수 없음.
403.10Forbidden설정이 확실하지 않음. 서버 설정에 문제가 있어서 요청을 수행할 수 없음.
403.11Forbidden잘못된 암호 입력으로 인한 접근 거부.
403.12ForbiddenMapper 접근 거부, 클라이언트 인증용 맵 접근 실패
404Not Found서버의 문서를 찾을 수 없음.(파일 및 스크립트)
405Method not allowed해당 요청에 명시된 메서드를 사용할 수 없어서 자원에 대한 이용이 거부됨.
406Not Acceptable허용되지 않음 (허용 가능한 응답 없음). 클라이언트의 Accept 헤더 필드에 기술된 미디어 타입을 반환할 수 없음.
407Proxy Authentication Required프록시 서버 인증 필요
408Request timeout요청 시간이 초과
409Conflict서버가 요청을 처리하지 못하고 충돌이 발생한 상태로, 보통 PUT 요청과 관련이 있으며 다른 버전의 파일 업로드 시 발생
410Gone영구적 사용 불가
411Length Required클라이언트가 필요한 Content-Length 헤더를 포함하지 않아 요청을 처리할 수 없음.
412Precondition Failed412 – 요청된 리소스에 대해 충족시킬 수 없는 하나 이상의 선결조건이 실패한 경우 발생
413Request entity too large요청된 자원이 서버가 처리 가능한 최대 크기보다 큼. (HTTP 1.1에서 처음으로 도입)
414Request-URI too longURI가 너무 길어서 서버가 처리할 수 없음.
415Unsupported media type요청이 알려지지 않은 형태임. (HTTP 1.1에서 처음으로 도입)
5XXServer Error(서버 오류)서버 측의 오류로 인해 요청을 처리할 수 없음.
500Internal Server Error서버 내부 오류.
501Not Implemented필요한 기능이 서버에 설치되지 않았음.
502Bad gateway게이트웨이 상태 나쁨.
503Service Unavailable서버가 현재 사용 불가능하거나 과부하 상태인 경우를 나타내는 오류 코드.
서버에서 일시적인 문제가 발생하여 요청을 처리할 수 없는 상황
일반적으로 잠시 후에 다시 시도하면 문제가 해결
504Gateway timeout“게이트웨이 시간초과”를 의미. 게이트웨이나 프록시 서버가 요청을 수행하는 동안 업스트림 서버로부터 응답이 오지 않아 발생하는 오류 (HTTP 1.1에서 처음으로 도입)
505HTTP Version Not Supported해당 HTTP 버전 미지원

크게 HTTP 정의와 HTTP 헤더 및 HTTP 상태코드에 대해 알아 봤습니다.

HTTP 요청(브라우저N서버)

Similar Posts

  • SEO 클로킹이란? 피해야 할 3가지 사항

    2023년 워드프레스 블로그로 수익 창출을 목표로 시작하는 분들이 많아졌습니다. 하지만 티스토리 블로그와 비슷하게 마치 종교처럼 글 1~2개 잘 쓰면 마치 한달 500만원, 천 만원을 벌 수 있는 것처럼 홍보하는 유튜브가 많아진 해이기도 합니다. 구글 상위 노출을 위해 검색엔진최적화(SEO)가 진행되어야 하며, 필수 사항이 맞습니다. 전 세계적으로 검색 엔진 시장의 규모는 매우 큽니다. 필수 사항이면서…

  • [SEO] 서브도메인 VS 서브폴더 2가지 설정 중 SEO에 더 유리한 것은?

    서브도메인 VS 서브폴더 SEO에 어떤 방식이 유리한지 알아 보겠습니다. 먼저 Subdomain에 대해 간략히 설명하자면 인터넷에서 특정 사이트에 접속했을 때 www.domain.com에서 shop.domain.com이나 blog.domain.com과 같이 서브도메인으로 연결되는 경우를 확인한 적이 있을 겁니다. shop이나 blog와 같은 Subdomain 외에 www.domain.com/shop과 www.domain.com/blog와 같이 서브폴더(하위 디렉토리 or 하위 폴더)로 주제를 나누는 방법이 있습니다. 서브도메인 VS 서브폴더 두 가지 설정을…

  • 페이오니아: 가입, 수취 계좌 등록, 현지 은행 계좌 연결 방법(데스크탑)

    페이오니아는 미국에 본사를 둔 글로벌 금융 서비스 기업으로, 주된 목적은 국제 온라인 송금, 글로벌 결제 처리, 프리랜서·기업을 위한 현지 통화 계좌 제공입니다. 예를 들어 아마존 어소시에이트 등을 할 때 연동이 필요한 경우 페이오니아를 사용할 수 있습니다. 해외 클라이언트로부터 대금을 받을 때, 혹은 글로벌 플랫폼(예: 아마존, 업워크, 피버 등)의 수익금을 인출할 때 페이오니아는 합리적인…

  • 아이폰 디스플레이 및 밝기 설정(&라이트모드 다크모드 2가지 모드)

    아이폰은 설정 화면의 디스플레이 및 밝기 설정탭으로 들어가면 아이폰 라이트모드 다크모드를 각각 설정을 할 수 있습니다. 아이폰 디스플레이 및 밝기 설정 탭으로 접속하면 첫 화면에서 바로 확인할 수 있습니다. 전 구매하자마자 다크모드를 사용해서 눈의 편안함을 추구하고 있습니다. 디스플레이 및 밝기 설정 탭의 기능들을 하나 씩 알아보겠습니다. 목차HTTP 요청 정보1. HTTP 버전2. HTTP 요청…

  • 아마존 어소시에이트 가입 방법

    세계에서 가장 큰 제휴 마케팅 프로그램 중 하나인 아마존 어소시에이트 가입 방법에 대해 간단히 알아 보겠습니다. 어필리에이트(Affiliate)는 “제휴하다“란 뜻을 가지고 있습니다. 웹 사이트의 발행자(publisher)는 제휴 파트너(아마존 or 쿠팡 등)에서 제공하는 광고를 올린 후 웹 사이트에 올린 후 수익이 발생하면 커미션(보상)을 받습니다. 목차HTTP 요청 정보1. HTTP 버전2. HTTP 요청 URL3. HTTP 메서드4. HTTP 헤더5….

  • 캐싱 개념과 분류: 웹사이트 성능 최적화 | 원리와 활용 | 서버 측 캐시 5가지와 클라이언트 캐시

    사이트 성능 최적화란 사용자에게 더 빠른 로딩 속도와 쾌적한 경험을 제공하기 위해 웹 자원과 서버 구조를 효율적으로 관리하는 작업입니다. 이를 위해 일반적으로 캐싱, 파일 최적화, 전송 최적화, 서버 최적화 네 가지 핵심 전략이 활용됩니다. 캐시를 통해 반복되는 데이터를 저장하고, 파일 최적화를 통해 CSS·JS·이미지 등의 용량을 줄이며, 전송 최적화에서는 압축과 CDN, HTTP/2 등을 활용해…