CS/Network

[Network] HTTP Methods - GET, POST, PUT, PATCH, DELETE

최블랙 2021. 9. 27. 23:13

이 포스팅은 세미나를 위해 https://github.com/JaeYeopHan/Interview_Question_for_Beginner/tree/master/Network를 참고하여 작성하였습니다.

 

HTTP를 사용하여 데이터가 서버로 전달될 때 method라는 속성을 반드시 가지게 된다. method는 데이터를 보내는 목적을 표시해주는 역할을 하고, method에 따라 서버에서 데이터를 다르게 처리한다.

 

GET

  • 서버로 resource를 요청할 때 사용
  • 서버의 resource는 클라이언트로 전달만 될 뿐 변경되지 않음
  • GET method로 데이터를 보내려면 URL 뒤에 붙여 보낼 수 있음
    ex) www.example.com?id=test&password=1234
    key, value 쌍으로 데이터를 넣어야 하며, HTTP Request Message Header에 포함되어 전송됨
  • 데이터가 URL에 담겨 전송되기 때문에 전송할 수 있는 데이터의 크기가 제한적
  • URL에 데이터가 그대로 노출되기 때문에 보안에 취약

POST

  • 서버로 resource를 보내 해당 resource를 DB 혹은 서버에 저장해달라고 요청할 때 사용
  • 데이터가 HTTP Request Message Body에 담겨 전송됨
  • 데이터가 Body에 담겨 전송되기 때문에 GET method보다 보낼 수 있는 데이터의 크기가 큼
  • 보내는 데이터가 Body에 포함되기 때문에 URL에 그대로 노출되는 GET method보다 보안에 이점이 있지만 HTTP Request Message는 클라이언트측에서 확인 가능하기 때문에 보안이 중요한 데이터는 암호화가 필요함

PUT

  • 서버로 resource 전체 업데이트를 요청할 때 사용

PATCH

  • 서버로 resource 일부 업데이트를 요청할 때 사용

DELETE

  • DB, 서버에 존재하는 resource의 삭제를 요청할 때 사용

Reference

https://www.a-mean-blog.com/ko/blog/Node-JS-%EC%B2%AB%EA%B1%B8%EC%9D%8C/Hello-World/HTTP-Methods-HTTP-Verbs-GET-POST-PUT-PATCH-DELETE