728x90
1. GET 방식
- 주요 특징: GET은 서버에 데이터를 요청하는 방식으로, 주로 조회나 검색과 같은 읽기 작업에 사용됩니다.
- 데이터 전송 위치: URL의 쿼리 스트링(주소 뒤에 ?로 시작하는 부분)에 데이터를 포함시켜 전송합니다.
- 데이터 크기 제한: URL 길이 제한 때문에 전송할 수 있는 데이터의 양이 제한됩니다 (주로 2048자 이내로 제한).
- 보안성: 데이터가 URL에 노출되므로 민감한 정보를 포함하기에 적합하지 않습니다.
- 캐싱 가능성: GET 요청은 캐시될 수 있으므로, 동일한 요청이 반복될 때 서버의 부담을 줄여줍니다.
GET 요청 예시
GET /search?q=example&sort=asc HTTP/1.1
여기서 q=example와 sort=asc는 서버로 전달되는 데이터입니다.
2. POST 방식
- 주요 특징: POST는 서버에 데이터를 전송하여 새로운 리소스를 생성하거나 변경을 요청하는 데 사용됩니다.
- 데이터 전송 위치: 데이터를 HTTP 본문에 포함하여 전송하므로, URL에 노출되지 않습니다.
- 데이터 크기 제한: 전송 데이터의 양에 제한이 없어 GET보다 대용량 데이터 전송에 유리합니다.
- 보안성: 데이터가 본문에 포함되어 URL에 노출되지 않지만, HTTPS를 사용하지 않으면 여전히 데이터는 노출될 수 있습니다.
- 캐싱 불가: POST 요청은 기본적으로 캐시되지 않으며, 서버에서 처리 후 상태가 변경되는 작업에 적합합니다.
POST 요청 예시
POST /submit HTTP/1.1 Content-Type: application/x-www-form-urlencoded Content-Length: length username=user&password=pass
GET 방식과 POST 방식의 주요 차이점 요약
특징GETPOST
사용 목적 | 데이터 조회 | 데이터 생성, 전송 및 수정 |
데이터 전송 위치 | URL의 쿼리 스트링 | HTTP 요청 본문 |
데이터 크기 | 제한적 (URL 길이 제한) | 제한 없음 |
보안성 | 보안에 취약 (데이터가 URL에 노출됨) | 상대적으로 안전 (데이터가 본문에 포함됨) |
캐싱 가능성 | 캐싱 가능 | 캐싱 불가 |
속도 | 상대적으로 빠름 | 상대적으로 느림 |
선택 기준
- 조회 요청: GET을 사용하여 캐시를 통한 효율성 증대
- 민감한 데이터 전송: POST를 사용하여 데이터 보호 (HTTPS와 함께 사용 권장)
- 대용량 데이터 전송: POST
728x90
'CS > 네트워크' 카테고리의 다른 글
[네트워크] 쿠키와 세션 차이(Cookie & Session) (0) | 2024.10.30 |
---|---|
[네트워크] DNS(Domain Name System) (0) | 2024.10.30 |
[네트워크] RESTful의미와 설계규칙 (0) | 2024.10.30 |
[네트워크] 공개키 암호 & 대칭키 암호 (0) | 2024.10.30 |
[네트워크] HTTP와 HTTPS (feat.SEO) (4) | 2024.10.30 |