GET은 요청을 URL에 붙이므로 북마크 할 수 있다.
https://yangheat.tistory.com?type1=php&type2=study
GET은 다음과 같이 URL에 쿼리 문자열을 붙여 사용하여 데이터를 가져옵니다.
쿼리 문자열은 URL 주소의 물음표 뒤에 붙는 키와 값의 쌍이 연속된 부분이며 키를 파라미터라고 부릅니다.
쿼리 문자열은 'type1=php&type2=study'이고 파라미터는 'type1'과 'type2'입니다.
즉, 주소 창에 쿼리 문자열이 표시되므로 북마크를 할 수 있어 그대로 URL에 입력하면 동일한 결과 값을 얻을 수 있습니다.
때에 따라 편리하게 느낄 수 있지만 주소 창에 파라미터 값을 변경할 수 있어 재요청하는 것이 쉽습니다.
반면 POST는 파라미터 값을 본문에 포함하여 전송하기에 GET에 비해 요청 내용을 쉽게 볼 수 없습니다.
GET으로 송신할 수 있는 데이터 크기에는 제한이 있다.
POST 데이터 크기는 무제한인 반면 GET의 쿼리 정보는 제한이 있습니다.
사용하는 웹 브라우저와 서버에 따라 데이터 크기의 제한은 다르지만 URL 주소의 크기에는 상한이 있기 때문입니다.
GET 응답은 캐시되지만 POST 응답은 캐시되지 않는다.
GET은 요청에 대한 응답에 캐시가 되지만
POST는 요청에 대한 응답에 캐시가 되지 않습니다.
즉, GET은 뉴스 기사처럼 내용이 항상 바뀌지 않는 응답을 얻으려는 요청에 적합합니다.
POST는 쇼핑몰의 쇼핑 카트처럼 내용이 바뀌는 응답을 얻으려는 요청에 적합합니다.
반응형
'PHP > PHP7 예비학교' 카테고리의 다른 글
크로스 사이트 스크립팅 - XSS 대책 (0) | 2020.09.27 |
---|---|
[PHP] 발견된 위치부터 문자열 출력 - stristr(), mb_stristr() (0) | 2020.09.13 |
[PHP] 문자열이 포함되어 있는 개수 확인 - substr_count(), mb_substr_count() (0) | 2020.09.13 |
[PHP] 문자열 검색 - strpos(), mb_strpos() (0) | 2020.09.13 |
[PHP] 문자열 비교하기 - ===, strcmp(), strcasecmp(), strncmp() (0) | 2020.09.13 |