먼저, GET과 POST는 웹서버가 준비한 데이터를 열람하는 형태였다면, PUT과 DELETE는 웹서버에 있는 컨텐츠를 조작하는 것이라 할 수 있다.
1. PUT
PUT은 POST와 마찬가지로 클라이언트가 웹서버로 어떤 정보를 전송하고자 할 때 사용하는 요청방식이다. 동작 방식을 살펴 보면 아래 그림과 같다.
그림만 보면 요청방식을 PUT으로 사용할뿐 POST와 같다.
요청방식(PUT) 그리고 URI, 데이터를 웹서버로 전달하면, 웹서버는 응답코드(200 OK) 그리고 부가적인 데이터를 클라이언트에게 응답한다.
PUT이 POST와 다른 점은 바로 URI 이다.
POST 방식으로 전달하는 URI는 클라이언트로부터 함께 전달된 데이터를 기반으로 처리해야 하는 오브젝트이다.
로그인 프로세싱을 생각해 보자.
웹서버는 클라이언트로부터 전달된 데이터(ID와 패스워드)를 가지고 데이터베이스에 저장된 사용자 정보와 비교한 후 결과를 반환해야 하는 동작이 필요하다. 바로 이런 동작을 하는게 POST에서 요청한 URI 인것이다. 즉, POST 방식으로 요청된 URI는 프로그래밍되어 있는 웹 스크립트이다.
반면 PUT 방식으로 전달되는 URI는 웹스크립트가 아닌 파일의 이름이거나 경로이다.
클라이언트가 지정한 위치에 특정 파일을 가져다 놓으려고 할때 PUT 방식이 사용될 수 있다.
아래와 같이 PUT을 이용하여 1234567890 이라는 내용이 입력된 file.txt 파일을 웹서버로 업로드해본다.
PUT과 POST는 웹서버로 클라이언트가 데이터를 전달하는 측면에서는 비슷하지만, 웹서버에서 URI를 어떻게 취급하는지가 가장 큰 차이점이다.
2. DELETE
PUT이 웹서버에 파일을 가져다 놓는거라면, DELETE는 웹서버에 놓여져 있는 파일을 지울때 사용하는 Method 이다.
동작 방식을 살펴보면, 아래와 같이 심플하다.
클라이언트는 DELETE 라는 Method와 URI를 웹서버로 전달하면, 웹서버는 URI로 가르킨 파일을 삭제한다.
아래는 PUT으로 업로드한 file.txt를 DELETE를 이용하여 삭제한 결과이다.
오늘 포스팅을 정리하면..
- PUT 방식은 웹서버로 클라이언트가 데이터를 전달한다는 측면에서 POST와 비슷하다.
- PUT과 POST의 결정적인 차이는 전달하는 URI를 웹서버에서 처리하는 방식에 있다.
- PUT은 파일의 경로 또는 이름이며, POST는 함께 전달하는 데이터를 기반으로 처리해야하는 웹스크립트이다.
- DELETE 방식은 웹서버에 있는 임의의 파일을 삭제할때 사용된다.
다음 포스팅에서는 OPTIONS, TRACE, HEAD에 대해 이야기 해보도록 한다.
댓글 없음:
댓글 쓰기