Network/HTTP

[HTTP 메서드] 3. HTTP PUT 메서드 : HTTP PUT 메서드는 리소스 덮어쓰기(Overwrite)에 사용된다.

Dev.Cho 2021. 5. 15. 21:05

PUT 메서드

PUT메서드는 리소스를 덮어쓰기 위해 사용한다.

 

앞서 다음과 같은 POST 메서드를 살펴보았다.

POST /post HTTP/1.1
Host: kotlinworld.com
Content-Type: text/html
Content-Length: XX

<html>
    <head>
        <title>..</title>
    </head>
    <body>
        ..
    </body>
</html>

POST메서드의 경로는 /post 라는 디렉터리이며, 리소스가 등록될 경로를 구체적으로 지정하지 않았다. 따라서 서버에서 해당 리소스가 생성될 경로를 할당한다. 예를 들어 100번에 생성되었으면 /post/100이라는 경로를 리소스에게 할당한다.

 

하지만, PUT메서드는 다르다. PUT 메서드에서는 리소스가 할당될 경로까지 지정을 해준다. 예를들어 /post/100 이라는 것을 시작 라인에 지정해준다.

PUT /post/100 HTTP/1.1
Host: kotlinworld.com
Content-Type: text/html
Content-Length: XX

<html>
    <head>
        <title>..</title>
    </head>
    <body>
        ..
    </body>
</html>

리소스 경로에 리소스가 없다면 리소스가 생성된다. 하지만 만약 리소스 경로에 이미 리소스가 있다면 PUT메서드는 해당 리소스를 덮어쓰기한다. 즉, 기존 리소스가 지워지며 PUT 메서드의 바디부에 있는 데이터가 해당 리소스를 대체한다.

그림1. PUT 메서드의 동작 방식

경로에 리소스가 있던 말던 상관없이 바디부의 데이터가 해당 리소스에 등록되는 것
반응형