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

  • 크리에이티브 커먼즈 라이선스 뜻과 이용허락조건 4가지 및 CC라이선스 6 종류

    크리에이티브 커먼즈 라이선스(Creative Commons License, 줄여서 CC 라이선스)란 저작자가 일정한 조건 하에 자신의 저작물을 다른 사람들이 자유롭게 이용할 수 있도록 허락하는 라이선스를 말합니다. 저작자가 저작자의 작품 사용 권한을 다른 사용자에게 부여하는 것을 말하며 각각의 단계를 가지고 있습니다. 목차HTTP 요청 정보1. HTTP 버전2. HTTP 요청 URL3. HTTP 메서드4. HTTP 헤더5. HTTP 요청 본문HTTP 상태코드1….

  • 웹 사이트 사이드바 왼쪽과 오른쪽 중 더 나은 선택은?

    PC 영역에서 웹 사이트 사이드바 왼쪽과 오른쪽 중에 어느 곳에 배치할 지 고민을 하게 됩니다. 대부분의 웹 사이트에서 사이드바Sidebar는 오른쪽에 있습니다. 페이지 내부에 위치한 정적인 페이지입니다. 사이드바의 용도에 대해 먼저 알아 보겠습니다. 목차HTTP 요청 정보1. HTTP 버전2. HTTP 요청 URL3. HTTP 메서드4. HTTP 헤더5. HTTP 요청 본문HTTP 상태코드 1. 웹 사이트 사이드바 용도…

  • 인터넷 속도 측정 사이트 5개(무설치) 추천

    보통 가정에서 사용하는 Internet 상품은 100Mbps, 500Mbps, 1Gbps 상품 중 하나를 선택해서 사용하게 됩니다. 내가 사용하는 Internet 속도가 잘 나오는지 궁금할 때가 있습니다. 인터넷 속도 평균 Mbps 등을 디테일하게 체크할 필요가 있을 수 있습니다. 설치나 로그인 없이 평균 인터넷 속도 측정이 가능한 6군데를 사이트 5군데를 사이트 리뷰 해 보겠습니다. 목차HTTP 요청 정보1. HTTP…

  • [SEO]구글 판다(Google Panda)

    구글 판다(Google Panda) 알고리즘은 2011년 2월에 출시된 구글의 검색 순위 결정 알고리즘입니다. 판다의 초기 출시 후 영어 검색 결과에 12%의 영향력을 주었던 판다의 목적은 “낮은 품질의 사이트” 및 “빈약한 콘텐츠의 사이트”의 순위를 낮추는 것이 목표였습니다. 또한 다수의 프리렌서 작가를 고용하거나 자동화 된 도구를 이용해서 검색 알고리즘을 충족해서 웹 콘텐츠를 생성하는 회사의 순위를 낮추는…

  • 웹사이트 속도 측정 사이트 및 도구 TOP6

    페이지 로딩 속도는 사용자 경험(UX)에 직접적인 영향을 미치며, 검색엔진의 순위에도 반영됩니다. 특히 Core Web Vitals(LCP, FID, CLS) 지표는 구글이 공식적으로 평가 기준으로 사용하는 만큼, 정기적인 웹사이트 속도 측정과 개선이 필수적입니다. 이 글에서는 실제 웹사이트의 성능을 점검하고, 병목 구간을 파악할 수 있는 대표적인 속도 측정 도구 5가지를 소개합니다. 각각의 장단점과 활용 팁을 함께 정리하여,…

  • [SEO]구글 페이지랭크(PageRank)란?

    구글의 검색 알고리즘 페이지랭크(PageRank)는 구글 검색 엔진 결과의 웹페이지 순위를 매기는 데 사용되는 알고리즘입니다. ‘웹 페이지’라는 용어와 구글의 공동 창립자인 Larry Page의 이름을 따서 ‘페이지 랭크’라는 용어가 탄생했습니다. 목차HTTP 요청 정보1. HTTP 버전2. HTTP 요청 URL3. HTTP 메서드4. HTTP 헤더5. HTTP 요청 본문HTTP 상태코드 PageRank 역사 1996년 스탠프도 대학교의 Larry Page와 Sergey Brin은…