❓목적
- GET
데이터를 가져와서 보여주는 것에 초점을 맞춤
주로 데이터를 조회할 때 사용
- POST
서버에 데이터를 제출하여 저장, 업데이트, 처리하는 데 사용함
❓데이터 전송위치
- GET
데이터가 URL의일부로 전송됨 ex) http://example.com/page?name=rose&age=26
- POST
데이터가 요청 본문에 포함되어 전송됨
URL에 직접적으로 보이지 않음
❓데이터 길이
- GET
URL에 데이터가 첨부되므로, 길이에 제한이 있음
대부분의 웹 브라우저나 서버에서 URL길이에 제한을 둠
- POST
데이터 길이에 별다른 제한이 없음(서버의 설정에 따라선 제한이 될 수 있음)
❓보안
- GET
URL에 데이터가 첨부되므로, 민감한 정보(비밀번호 등)를 전송하는 것은 안전하지 않음
브라우저 히스토리에 URL이 저장되기 때문에 데이터가 기록될 수 있음
- POST
데이터가 요청 본문에 있어 URL에서 직접적으로 보이지 않아 GET보다는 더 안전함
그러나 암호화되지 않은 상태에서 POST 요청을 전송하는 것은 안전하지 않음
HTTPS와 같은 암호화된 연결을 사용하여 데이터를 보호하는 것이 좋음
❓Idempotent(멱등성: 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질)
- GET
멱등성이 있음
같은 GET 요청을 여러 번 수행해도 서버의 상태나 결과가 변경되지 않아야 함
- POST
멱등성이 없음
같은 POST 요청을 여러 번 수행하면 서버의 상태나 결과가 변경될 수 있음
❓캐싱
- GET
결과를 캐시할 수 잇음
- POST
일반적으로 캐시되지 않음
❓북마크 및 공유
- GET
URL이 요청에 모든 정보를 포함하므로, 북마크하거나 공유하기 쉬움
- POST
요청 본문에 데이터가 포함되어 있기 때문에 북마크나 공유하기 어려움
GET은 데이터 조회에 초점이 맞춰져 있어, 웹 페이지의 정보를 가져오거나 특정 정보를 검색할 때 주로 사용됩니다. 이 때, 조회에 필요한 정보는 URL에 직접 포함되므로 주소창에서 확인이 가능합니다. 하지만, 이러한 방식은 URL 길이의 제한과 민감한 정보의 노출로 인해 보안 문제가 발생할 수 있습니다.
반면, POST는 서버에 데이터를 제출하거나 업데이트할 때 주로 사용되는 방식입니다. 전송되는 데이터는 요청 본문 안에 포함되기 때문에 URL에서는 보이지 않아 보안적인 측면에서 더욱 우수한 특성을 보입니다. 그럼에도 불구하고, 암호화되지 않은 상태에서의 전송은 위험할 수 있기에, HTTPS와 같은 암호화된 연결을 사용하는 것이 좋습니다.
이렇게 GET과 POST는 각각의 특징과 사용 용도에 따라 적절하게 활용됩니다.
'IT > 면접' 카테고리의 다른 글
Q. 쿠키, 세션, 웹스토리지의 차이 (0) | 2023.08.17 |
---|---|
Q. GET, POST의 개념과 데이터 흐름 (0) | 2023.08.15 |
Q. 브라우저의 작동방식 (0) | 2023.08.11 |
Q. 동기와 비동기의 차이, 비동기프로그램이의 필요성 (0) | 2023.08.11 |
Q. JavaScript 호이스팅 (0) | 2023.08.09 |