Skip to content

Latest commit

 

History

History
27 lines (14 loc) · 1.58 KB

difference-between-get-and-post.md

File metadata and controls

27 lines (14 loc) · 1.58 KB

GET과 POST 방식의 차이점

대표적인 HTTP 메소드인 GET, POST는 클라이언트가 서버에 요청을 할 때 사용한다는 것은 같지만, 둘의 목적과 방식에는 차이가 있습니다.

GET

GET 방식은 Request에 body를 보낼 수는 있지만, 권장되는 형태가 아니었고, 일부 구현에선 요청에 응답하지 않을 수 있습니다.

GET 방식은 요청하는 데이터는 Request Header의 url 부분에 담겨서 전송됩니다.

URI 자체가 요청하는 데이터가 될 수도 있고, ? 뒤에 요청하고자 하는 정보를 덧붙일 수도 있습니다.

정보를 덧붙이는 방식은 큰 데이터를 보내는 것이나, 보안이 필요한 데이터를 전송하는 데에는 적합하지 않습니다.

URL 길이제한은 브라우저 마다 다르고, 서버에서 요청 URL이 길어진다면 414 URI Too Long응답을 줄 수 있습니다.

POST

POST는 Request Body에 데이터가 담겨서 전송됩니다.

Body에 데이터를 넣어서 전송하므로, 큰 데이터를 보낼 수 있고, 단순히 URL에 노출되지 않는 정도의 보안이 필요할 때 사용할 수 있습니다.(쉽게 말해서 누가 URL을 보고 그 정보를 알 수 있는경우?)

둘의 차이점

둘의 차이는 GET은 데이터를 요청하는 Http Method고, POST는 데이터 생성을 요청하는 Http Method입니다.

GET은 브라우저에서 캐싱을 할 수 있기 때문에, 브라우저에서 해당요청을 다시 보냈을 때, 캐시 데이터가 응답되면 안되는 경우에는 GET 요청이 적합하지 않습니다.