GET 메소드
- 쿼리스트링으로 정보를 보내는데, 이 때 파라미터는 다 노출되기 때문에 GET 요청에서 중요한 정보를 다루면 안된다.
- GET 요청은 브라우저 기록이 남는다.
- GET 요청은 북마크할 수 있다.
- GET 응답은 캐싱될 수 있다.
- GET 요청의 URI+Query String이 최대 256자 길이 제한이 있다는 말을 자주 볼 수 있는데, 사실이 아니다.
HTTP 자체는 요청 길이에 대한 제한을 두지 않는다. 다만 브라우저에는 길이 제한이 있다. (브라우저마다 다르다.)
참고로 서버에서는 요청 URI의 길이가 너무 길 경우 414 코드를 반환할 수 있다.
POST 메소드
- POST 요청은 캐싱되지 않는다.
- POST 요청은 브라우저 기록에 남지 않는다.
- POST 요청은 북마크에 추가할 수 없다.
- GET 요청과 달리 데이터를 body에 담아서 보내기 때문에 외부에 드러나지 않아 보안적인 측면에서 GET보다 조금 낫다. (하지만 데이터를 암호화 하지 않으면 Body 의 데이터도 결국 볼 수 있는 건 똑같다.)
주요 차이점
우선은 쓰임이 다르다. GET은 서버의 리소스를 받아오는 일이고, POST는 서버의 리소스를 생성하거나 등록하는 일이다.
GET은 쿼리스트링을 활용하기에 캐싱을 하거나 브라우저에 기록이 남거나 북마크를 할 수 있는 것이고, POST는 전달하는 data가 노출되지 않기에 캐싱이나 북마크 또한 불가능한 것이다.
HTML의 form 태그를 사용할 때 get 메소드를 사용하면 모든 form data는 url로 인코딩되어 action url에 쿼리 스트링 파라미터로 전달 되고, post 메소드를 사용하면 form data는 HTTP request 의 body에 들어간다.
Reference
https://uiandwe.tistory.com/1133
get 방식의 글자 256자 제한은 잘못된 상식
사실 아는 사람들은 알겠지만 get방식의 글자수 제한이 256자 라는것은 거짓말이다. http 1 버전 시대에서 잘못 내려온 일종의 속설이다. (http 1이 96년도 발표이다. 현재 많은 브라우저가 http 2.0을
uiandwe.tistory.com
https://2jinishappy.tistory.com/314
GET Method는 URL을 256자 이하로 제한하지 않는다
HTTP Method를 정의하고, GET과 POST의 차이를 비교할 때 주로 등장하는 말인 'GET Method의 최대 길이(URI+Query String)는 최대 256자이다'라는 말은 사실이 아니다 하지만 많은 자료에서는 위와 같이 표기되
2jinishappy.tistory.com
[web-services] HTTP GET 요청의 최대 길이 - 리뷰나라
HTTP GET 요청 의 최대 길이는 얼마입니까? 서버가이 길이를 초과하는 GET 요청을 수신하면 리턴 할 수 있거나 응답해야하는 응답 오류가 있습니까? 이것은 브라우저 한계를 보는 것도 흥미롭지 만
daplus.net
https://noahlogs.tistory.com/35
[네트워크] get 과 post 의 차이
GET 과 POST 는 HTTP 메서드로 클라이언트에서 서버로 무언가를 요청할 때 사용한다. 2019/06/01 - [IT 정보 로그캣/CS] - [네트워크] http 란 [네트워크] http 란 기본적으로 네트워크 통신을 할 때 처음 접하
noahlogs.tistory.com
'백엔드 > 네트워크' 카테고리의 다른 글
HTTP 메소드 정리 (4) | 2022.06.10 |
---|---|
CORS (교차 출처 리소스 공유) (1) | 2022.06.07 |