-
GET과 POST의 차이!!Web/Tip !! 2018. 6. 9. 23:25
웹 공부를 하면서 정리를 해보려고 합니다~
오늘 포스팅 할 내용은 GET과 POST의 차이입니다.
GET : 가져오는 방식 -> 값을 변경하지 않는 보여주기 역할을 할 때 사용됨
URL Header가 표기됨 ex> ho05.net?id=11&type=post -> URL에 이어붙임으로 길이제한이 있음 많은양의 데이터를 보내기 힘듬
링크를 걸어서 남들에게 줄 수 있음, 간단한 데이터를 보내는데 적합!
캐시의 기능(캐싱) 즉, 한 번이라도 접근 했을시 데이터를 저장하여 다음 접근에 바로 사용할 수 있게함 속도가 빨라짐
(물론 POST도 캐싱 기능이 가능함 http 해더를 어떤식으로 넣어주느냐에 달림
-> POST로 Cache하려면 파일 변경여부를 구분해주어야함, 세션에 부가정보를 기록하고 선택적으로 Modified여부를 해주어야함)GET방식에서는 Key-Value 쌍으로 보내며 www.ho05.net/?id=ho
두 개 이상일 시 구분자로 &를 이용한다. www.ho05.net/?id=ho&pwd=qwer
보통 body는 비어서 전송된다
POST : 수행하는 방식 -> 서버의 값이나 상태를 바꾸기 위해 사용함 데이터베이스의 값이 수정되는 글쓰기 등에 사용됨
많은 양의 데이터를 보내는데 적합함 -> 데이터 전송을 기반으로한 메소드
이유 : form을 이용하여 submit하는 형태이기 때문에 -> 데이터가 body에 숨겨져서 보내짐
POST방식으로 데이터를 보낼 시에는 반드시 Content-Type Header필드를 명시해줘야함!
작성하지 않는 경우 1번으로 셋팅되며 GET과 마찬가지로 BODY에 key와 value쌍으로 데이터를 넣게됨(ex> id=ho&pass=qwer) 구분자는 &
2번의 경우 body에 단순 txt를 넣음
3번의 경우 파일을 전송할 때 많이 사용됨, body의 데이터를 바이너리 데이터로 넣는다는 것을 알려줌
-> GET과 POST 모두 보안적인 측면에서 뛰어나지는 않다!!
위의 GET과 POST를 구분하지 못하여 발생한 Google Accelerator사건!
-> 웹서핑의 속도 향상의 목적으로 Accelerator을 발표한 구글!
-> Accelerator은 어떤 웹사이트 방문 시 모든 URL을 미리 클릭하여 캐시를 이용하여 방문사이트속도를 올리는 원리를 사용함
-> 그러나! 웹개발자들이 GET POST차이를 인식하지 못해 막 사용했고 GET에서도 Delete와 같은 메서드를 이용해버림~
-> 결과적으로 URL에 ....net/delete?id=xxx가 GET으로 보내지면 지워저버리는 현상이 일어남
-> Accelerator에 의해 의도하지 않은 지워짐이 발생함
가져오는 곳에서는 GET을 사용해야함 -> Link 문제!!
웹의 모든 리소스는 Link할 수 있는 URL을 가지고 있어야함
어떤페이지를 다른사람에게 줄 수있는 주소창의 URL을 복사할 수 있어야함
그러나 POST의 경우 값이 내부적으로 감춰져서 전달되기 때문에 URL만 전달할 수가 없음
* 퍼머링크(인터넷에서 특정페이지의 고유한 URL을 의미, 이 주소는 어떤 상황에서도 관계없이 항상 동일한 내용을
가지는 페이지로 링크된다는 의미에서 고유(Permanent)한 주소라는 뜻임, 한국어로는 고유링크, 고유주소라함)
반응형'Web > Tip !!' 카테고리의 다른 글
Ubuntu php5.6 , php7.1 설치 및 셋팅하기 (0) 2017.11.22 리눅스 계열 php Display Error Code (0) 2017.11.11 댓글