티스토리 뷰

 - HTTP 프로토콜을 이용해서 서버에 무언가를 전달할때 사용하는 방식입니다.

 

 

 

01. GET

 - 가져오는 것.

 - URL (주소줄) 값에 ?뒤에 데이터가 Key, Value쌍으로 이어붙어서 보내집니다.

 - ex) hamdi.tistory.con?id=seung&page=2&type=stts

 - 위에서 본 ex와 같이 데이터가 여러개일때 &로 구분이 됩니다.

 - URL에 데이터가 노출되어 보안에 취약합니다.

 - 전송하는 길이에 제한이 있습니다.

 - 데이터를 Header에 포함하여 전송합니다. 

 - URL에 이어 붙기때문에 길이제한이 있어서 많은양의 데이터는 보내기 어렵습니다.

 - Select적인 성향. 서버에서 어떤 데이터를 가져와서 보여주는 용도로 많이 쓰입니다.

 - HTTP/1.1 스팩인 RFC2616의 Section9.3에 따르면 GET은 서버로부터 정보를 조회하기 위해 설계된 메서드 입니다.

 - GET은 요청을 전송할 때 필요한 데이터를 Body에 담지 않고, 쿼리 스트링을 통에 전송합니다.

 - 캐싱(Caching)이 가능합니다.

 

 

 

02. POST

 - 수행하는 것.

 - URL에 데이터를 노출하지 않고 요청합니다.

 - 서버의 값이나 상태를 바꾸기 위해 사용합니다.

 - 글쓰기를 해서 글의 제목이나 내용이 DB에 저장되고 수정하면 DB에 수정이 됩니다. 이련경우 자주 사용.

 - 데이터를 Body에 포함시킵니다.

 - Body의 데이터를 설명하기 위해 Content-Tupe이라는 헤더필드가 들어갑니다.

 - URL에 데이터가 노출되지 않아서 기본 보안은 되어있습니다.

 - 전송하는 길이에 제한이 없습니다.

 - 캐싱을 할 수 없습니다.

 

 

 

03. GET과 POST 차이점

 - GET은 Idenpotent, POST는 Non-Idenpotent하게 설계되었습니다.  

 - Idenpotent란 수학이나 전산학에서 연산의 한 성질을 나타내는 것으로, 연산을 여러번 적용하더라도 결과가 달

  라지지 않는 성질을 의미합니다.

 - GET과 같은 경우 서버에게 동일한 요청을 여러번 전송하더라도 동일한 응답이 돌아와야 한다는 것을 의미합니다.

 - 위와 같은 이유가 있으므로 주로 조회를 할때 많이 사용합니다.

 - 웹페이지를 열어보거나, 게시글을 읽는 등 조회를 하는 행위로는 GET으로 요청하게 됩니다.

 - POST와 같은 경우 서버에게 동일한 요청을 여러번 전송해도 응답은 항상 다를 수 있습니다.

 - GET이 Select에 용도가 잘맞다면, POST는 insert, update, delete 용도에 잘 맞다고 볼 수 있습니다.

 

 

 

reference

https://mangkyu.tistory.com/17

https://blog.outsider.ne.kr/312

https://hongsii.github.io/2017/08/02/what-is-the-difference-get-and-post/

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함