티스토리 뷰
📌 HTTP 성공 응답
웹 개발 작업을 하거나 인터넷을 검색할 때 HTTP 2XX 상태 코드는 비록 인식하지 못하더라도 정기적으로
접하게 되는 것입니다.
이 코드는 웹 기능의 기본이며 모든 것이 원활하게 실행되고 있음을 나타냅니다.
📌 기본 정의
웹 브라우저와 같은 클라이언트가 서버에 요청(예: 웹 페이지 링크 클릭)을 보내면 서버는 이 요청을 처리합니다.
모든 것이 예상대로 진행되면, 즉 서버가 요청된 리소스를 찾고, 요청을 이해하고, 문제 없이 이를 수행할 수
있으면 200 OK 상태 코드로 응답합니다.
이는 본질적으로 "모든 것이 정상입니다. 요청한 내용은 다음과 같습니다."라고 말하는 서버의 방식입니다.
📌 코드 정의
✔️ 200 OK
요청이 성공적으로 되었습니다. 성공의 의미는 HTTP 메소드에 따라 달라집니다
- GET: 리소스를 불러와서 메시지 바디에 전송되었습니다.
- HEAD: 개체 해더가 메시지 바디에 있습니다.
- PUT 또는 POST: 수행 결과에 대한 리소스가 메시지 바디에 전송되었습니다.
- TRACE: 메시지 바디는 서버에서 수신한 요청 메시지를 포함하고 있습니다.
✔️ 201 Created
요청이 성공적이었으며 그 결과로 새로운 리소스가 생성되었습니다.
이 응답은 일반적으로 POST 요청 또는 일부 PUT 요청 이후에 따라옵니다.
✔️ 202 Accepted
요청을 수신하였지만 그에 응하여 행동할 수 없습니다.
이 응답은 요청 처리에 대한 결과를 이후에 HTTP로 비동기 응답을 보내는 것에 대해서 명확하게 명시하지 않습니다. 이것은 다른 프로세스에서 처리 또는 서버가 요청을 다루고 있거나 배치 프로세스를 하고 있는 경우를 위해 만들어졌습니다.
✔️ 203 Non-Authoritative Information
이 응답 코드는 돌려받은 메타 정보 세트가 오리진 서버의 것과 일치하지 않지만 로컬이나 서드 파티 복사본에서
모아졌음을 의미합니다. 이러한 조건에서는 이 응답이 아니라 200 OK 응답을 반드시 우선됩니다.
✔️ 204 No Content
요청에 대해서 보내줄 수 있는 콘텐츠가 없지만, 헤더는 의미있을 수 있습니다.
사용자-에이전트는 리소스가 캐시된 헤더를 새로운 것으로 업데이트 할 수 있습니다.
✔️ 205 Reset Content
이 응답 코드는 요청을 완수한 이후에 사용자 에이전트에게 이 요청을 보낸 문서 뷰를 리셋하라고 알려줍니다.
✔️ 206 Partial Content
이 응답 코드는 클라이언트에서 복수의 스트림을 분할 다운로드를 하고자 범위 헤더를 전송했기 때문에 사용됩니다.
✔️ 207 Multi-Status (WebDAV)
멀티-상태 응답은 여러 리소스가 여러 상태 코드인 상황이 적절한 경우에 해당되는 정보를 전달합니다.
✔️ 208 Multi-Status (WebDAV)
DAV에서 사용됩니다: propstat(property와 status의 합성어) 응답 속성으로 동일 컬렉션으로 바인드된 복수의
내부 멤버를 반복적으로 열거하는 것을 피하기 위해 사용됩니다.
✔️ 226 IM Used (HTTP Delta encoding)
서버가 GET 요청에 대한 리소스의 의무를 다 했고, 그리고 응답이 하나 또는 그 이상의 인스턴스 조작이 현재
인스턴스에 적용이 되었음을 알려줍니다.
📌 웹페이지 로드
웹 개발에 관한 블로그를 방문한다고 가정해보겠습니다.
URL을 입력하고 Enter 키를 누르면 브라우저가 서버에 HTTP GET 요청을 보냅니다.
서버는 이 요청을 처리하고 블로그 홈페이지를 찾아 200 OK 상태 코드와 함께 브라우저로 다시 보냅니다.
그러면 브라우저는 사용자가 볼 수 있도록 페이지를 렌더링합니다.
예시:
POST /submit-form HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
name=JohnDoe&email=johndoe@example.com&message=HelloWorld
서버 응답:
HTTP/1.1 200 OK
Content-Type: text/html
<!DOCTYPE html>
<html>
<head>
<title>Form Submitted</title>
</head>
<body>
<h1>Thank you for your message!</h1>
</body>
</html>
📌 양식 제출
웹사이트에서 문의 양식을 작성한다고 가정해 보겠습니다.
"제출"을 클릭하면 양식 데이터가 POST 요청을 통해 서버로 전송됩니다.
서버가 이 데이터를 올바르게 처리하면(예: 데이터베이스에 저장) 확인 메시지와 함께 200 OK 상태 코드를
반환합니다.
예시:
POST /submit-form HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
name=JohnDoe&email=johndoe@example.com&message=HelloWorld
서버 응답:
HTTP/1.1 200 OK
Content-Type: text/html
<!DOCTYPE html>
<html>
<head>
<title>Form Submitted</title>
</head>
<body>
<h1>Thank you for your message!</h1>
</body>
</html>
200 OK 상태 코드는 간단해 보일 수 있지만 웹 개발의 필수적인 부분입니다.
이는 클라이언트와 서버 간의 성공적인 통신을 의미하며 사용자가 문제 없이 필요한 콘텐츠와 서비스에 액세스할 수
있음을 보장합니다. 개발자의 경우 200 OK 상태 코드를 언제, 어떻게 사용하는지 이해하는 것은 안정적이고
사용자 친화적인 웹 애플리케이션을 구축하는 데 중요합니다.