HTTPQUERY
한국어

200 OK

사용법

200 OK 응답에는 항상 메시지 본문이 포함되지만, 서버는 본문 길이를 0으로 설정해도 됩니다. 서버에 따라 PUT, DELETE, OPTIONS 요청을 처리할 때 이런 경우가 예상됩니다.

서버가 반환할 콘텐츠가 없을 때는 204 상태 코드가 더 적절합니다. 콘텐츠를 생성하는 POST처럼 새 리소스를 만드는 요청에는 대신 201 상태 코드를 반환합니다.

SEO 영향

200 응답은 콘텐츠를 Google의 색인 파이프라인으로 전달하지만, 색인 등록이 보장되지는 않습니다. Google은 콘텐츠를 평가한 뒤 해당 페이지를 검색 결과에 포함할지 독자적으로 판단합니다. 콘텐츠가 없거나 사라졌다고 안내하는 페이지에서 200 응답을 주면 소프트 404가 만들어집니다. 소프트 404가 너무 많으면 사이트의 서버 신호에 대한 Google의 신뢰가 떨어지고 순위에 부정적인 영향을 줍니다.

참고

네트워크 요청 없이 로컬 캐시에서 응답이 제공되면 브라우저 개발자 도구는 “200 (from disk cache)” 또는 “200 (from memory cache)“를 표시합니다. 이는 서버가 보낸 200(완전한 네트워크 왕복)과도, 304(서버가 캐시가 최신임을 확인)와도 다릅니다. “200 from cache”는 Cache-Control max-age가 아직 만료되지 않았다는 뜻이고, 304는 브라우저가 서버와 재검증을 수행했다는 뜻입니다.

GET

GET 응답에는 요청한 리소스의 메시지 본문이 담깁니다.

요청

GET /document.pdf HTTP/1.1
Host: example.com

응답

HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Length: 10000

<message body contains the requested PDF document>

HEAD 응답에는 GET 응답과 동일한 헤더가 담기며 메시지 본문은 없습니다.

요청

HEAD / HTTP/1.1
Host: example.com

응답

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8

POST

POST 응답에는 보통 해당 동작의 결과나 진행 상태에 대한 정보가 담깁니다.

요청

POST /api/data HTTP/1.1
Host: example.com
Content-Type: application/json
Content-Length: 24

{"name":"example entry"}

응답

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 18

{"success":"true"}

PUT

PUT 응답에는 보통 해당 동작의 결과나 진행 상태에 대한 정보가 담깁니다.

요청

PUT /api/data/1 HTTP/1.1
Host: example.com
Content-Type: application/json
Content-Length: 24

{"name":"updated entry"}

응답

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 18

{"success":"true"}

TRACE

TRACE 응답에는 서버가 요청을 수신한 그대로의 요청 메시지가 담깁니다.

요청

TRACE / HTTP/1.1
Host: example.com

응답

HTTP/1.1 200 OK
Content-Type: message/http
Content-Length: 38

TRACE / HTTP/1.1
Host: example.com

DELETE

DELETE 응답에는 완료된 동작에 대한 상태 표시가 포함됩니다.

요청

DELETE /api/data/1 HTTP/1.1
Host: example.com

응답

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 18

{"deleted":"true"}

OPTIONS

OPTIONS 응답에는 서버가 허용하는 HTTP 메서드를 나열한 Allow 헤더가 포함됩니다. 서버는 선택적으로 메시지 본문에 더 자세한 내용을 명시합니다.

요청

OPTIONS / HTTP/1.1
Host: example.com

응답

HTTP/1.1 200 OK
Allow: GET,HEAD,PUT,OPTIONS
Content-Type: text/plain;charset=UTF-8

코드 참고

.NET

HttpStatusCode.OK

Rust

http::StatusCode::OK

Rails

:ok

Go

http.StatusOK

Symfony

Response::HTTP_OK

Python3.5+

http.HTTPStatus.OK

Java

java.net.HttpURLConnection.HTTP_OK

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus.SC_OK

Angular

@angular/common/http/HttpStatusCode.Ok