- HTTP GET과 POST는 웹에서 데이터를 서버에 보내거나 서버에서 데이트를 받는 데 사용되는 두 가지 주요한 HTTP 메서드이다.
GET과 POST 차이
1. 목적
- GET : 서버에 어떠한 리소스로부터 정보를 요청하기 위해 사용되는 메서드이다.
- POST : 서버로 리소르를 생성하거나 업데이트하기 위해 데이터를 보낼 때 사용되는 메서드다.
2. 데이터 전송방식
- GET : URL 주소 끝에 파라미터로 포함되어 전송되며, 이 부분을 쿼리 스트링(query string)이라고 부른다. 예를 들어 www.example.com/show?name1= value1&name2=value2 의 경우 서버에서는 name1과 name2라는 파라미터 명으로 각각 value1과 value2의 파라미터 값을 전달 받을 수 있다.
- POST : 전송할 데이터를 HTTP 메시지 body 부분에 담아서 서버로 보낸다.
3. 데이터의 양
- GET : URL에 데이터가 노출되어 있으므로 주로 작은 양의 데이터를 전송할 때 사용된다.
- POST : 본문에 데이터를 담아 보내기 때문에, 길이 제한이 따로 없어 용량이 큰 데이터를 보낼 때 사용한다.
4. 보안
- GET : URL에 데이터가 노출되므로 보안에 취야하기 때문에 민감한 정보(예: 비밀번호)를 GET 요청으로 보내서는 안된다.
- POST : 데이터가 본문에 포함되므로 상대적으로 안전하다.(하지만 데이터를 암호화하지 않으면 body의 데이터도 결국 볼 수 있는건 똑같다.)
5. 멱등성(idempotennt)
- GET : 멱등이다. 동일한 GET 요청을 여러 번 보내도 서버 상태에 영향을 미치지 않고 항상 동일한 응답을 받을 수 있다.
- POST : 멱등하지 않다. 동일한 POST 요청을 여러번 보내면 서버 상태가 변경될 수 있으므로 주의해야 한다.
6. 캐싱
- GET : GET 요청을 할 때 웹 캐시가 요청을 가로채 서버로부터 리소스를 다시 다운로드하는 대신 리소스의 복사본을 반환한다. HTTP 헤더에서 cache-control 헤더를 통해 캐시 옵션을 지정할 수 있다.
- POST: 요청과 응답은 캐시되지 않으며 항상 실시간으로 처리된다.
학습 단계로 잘못된 정보가 있을 수 있습니다. 잘못된 부분에 대해 알려주시면 정정하도록 하겠습니다.
참고 : https://noahlogs.tistory.com/35https://hyunie-y.tistory.com/31
'이것저것 스터디📚 > CS 스터디' 카테고리의 다른 글
HTTP 1.1 VS HTTP 2.0 (0) | 2023.12.18 |
---|---|
쿠키와 세션 (0) | 2023.10.24 |
HTTP 대신 HTTPS를 사용해야하는 이유 (0) | 2023.10.16 |
REST API (1) | 2023.10.16 |
AJAX란? (1) | 2023.10.16 |