웹에서 클라이언트가 서버에 데이터를 요청하거나 보낼 때 GET 방식과 POST 방식
2024. 10. 22. 17:23ㆍ정보처리,전산
반응형
1. GET 방식
- 데이터 전송 방식: GET 요청은 URL에 데이터를 붙여서 서버로 전송한다. 즉, 요청 데이터가 쿼리 문자열(URL의 키=값 형식)로 전달된다.
- 데이터가 URL에 노출: URL에 쿼리 파라미터로 포함되므로 누구나 볼 수 있다. 보안이 필요한 정보(예: 비밀번호)는 절대 GET 방식으로 보내지 않는다.
- 길이 제한: URL의 길이에 제한이 있기 때문에 전송할 수 있는 데이터의 양이 제한된다.
- 캐싱: 브라우저나 프록시 서버가 GET 요청을 캐시할 수 있다. 즉, 동일한 GET 요청에 대해 서버의 응답을 재사용할 수 있다.
- 주로 데이터 조회에 사용된다. 서버 상태를 변경하지 않고, 데이터를 가져오는 목적이다.
- 사용 예시: 검색 엔진에서 검색어를 입력하거나 페이지를 탐색할 때 자주 사용된다.
2. POST 방식
- 데이터 전송 방식: POST 요청은 데이터를 HTTP 메시지의 본문(Body)에 숨겨서 전송한다. 따라서 URL에는 나타나지 않는다.
- 데이터가 URL에 노출되지 않음: 데이터가 본문에 포함되므로 보안 측면에서 더 안전한다. 특히 로그인 정보나 금융 정보처럼 중요한 데이터를 보낼 때 사용된다.
- 데이터 양의 제한 없음: URL의 길이 제한이 없기 때문에 대량의 데이터를 전송할 수 있다.
- 캐싱되지 않음: 기본적으로 POST 요청은 캐시되지 않으며, 서버에서 해당 요청을 다시 처리해야 한다.
- 서버 상태 변경 가능: 주로 데이터 생성, 업데이트 등의 작업에 사용된다. 즉, 서버에 새로운 리소스를 생성하거나 상태를 변경하는 작업에 적합한다.
- 로그인 폼 제출, 파일 업로드, 데이터베이스에 데이터 추가 등이 POST 방식을 사용하는 대표적인 상황이다.
구분GET 방식POST 방식
데이터 전송 방식 | URL의 쿼리 문자열에 포함 (키=값) | HTTP 요청 본문에 포함 |
보안성 | 데이터가 URL에 노출됨 (보안이 낮음) | 데이터가 본문에 포함 (보안이 더 높음) |
전송 데이터 크기 | 제한 있음 (URL 길이 제한) | 제한 없음 |
캐싱 | 캐시 가능 | 기본적으로 캐시되지 않음 |
용도 | 데이터를 조회할 때 (읽기 전용) | 데이터를 생성, 업데이트할 때 (쓰기 작업) |
반응형
'정보처리,전산' 카테고리의 다른 글
윈도우 가상화 기반 보안 해제 (0) | 2025.02.08 |
---|---|
텍스트 상자에 입력한 항목을 추가하고, 그 항목을 클릭하면 삭제 (1) | 2024.09.28 |
텍스처 전송 시 Lock을 걸어야 하는 이유 (0) | 2024.09.05 |
정수형(int)과 부동 소수점형(float) 데이터의 표현 (0) | 2024.09.05 |
소프트웨어 테스트 (0) | 2024.07.27 |