GET과 POST는 HTTP 프로토콜에서 가장 널리 사용되는 두 가지 메소드다
이들은 클라이언트가 서버로 데이터를 전송하는 방법을 정의하며,
주로 웹 폼 데이터의 제출이나 API 요청 시 사용된다
각각의 메소드는 다른 목적과 특징을 가지고 있어, 적절한 상황에서 사용되어야 한다
GET
서버로부터 정보를 검색하기 위해 사용
데이터를 서버로 전송하긴 하지만, 주로 조회를 위한 파라미터를 URL에 붙여서 전송
GET 요청의 특징
- 데이터 전송 방식
- URL의 일부로 데이터를 전송
- 예를 들어, http://example.com/api/users?name=John&age=30과 같이 URL에 질의 문자열(query string)을 포함시켜 데이터를 전송
- 안전성
- GET 요청은 서버의 데이터를 변경하지 않아야 합니다(안전한 작업)
- 즉, 순수하게 데이터를 가져오는(read-only) 목적으로 사용
- 캐싱 가능
- GET 요청은 결과를 캐싱할 수 있으며, 이는 성능 향상에 도움이 됨
- 길이 제한
- URL 길이에는 제한이 있기 때문에 전송할 수 있는 데이터의 양에도 제한이 있음
- 브라우저 히스토리에 저장됨
- GET 요청은 URL에 데이터를 포함하기 때문에 브라우저 히스토리에 남고, 북마크 가능
POST
POST 메소드는 서버의 상태를 변경하기 위해 데이터를 서버로 전송할 때 사용
주로, 새로운 리소스를 생성하거나 기존 리소스를 수정할 때 사용
POST 요청의 특징
- 데이터 전송 방식
- 데이터는 HTTP 메시지의 본문(body)에 포함되어 전송
- 이는 GET 방식보다 더 많은 양의 데이터를 안전하게 전송할 수 있게 해줌
- 비안전성
- POST 요청은 서버의 데이터를 변경할 수 있으므로, 비안전한(non-safe) 작업으로 간주됨
- 캐싱 불가능
- POST 요청의 결과는 일반적으로 캐싱되지 않음
- 길이 제한 없음
- 메시지 본문을 통해 데이터를 전송하기 때문에, GET 방식보다 더 많은 데이터를 전송할 수 있음
- 브라우저 히스토리에 저장되지 않음
- POST 요청은 브라우저 히스토리에 저장되지 않으므로, 북마크하거나 URL을 공유해서는 동일한 요청을 재현할 수 없음
GET과 POST는 각각의 목적과 사용 사례에 맞게 적절히 사용되어야 함
예를 들어,
사용자의 검색 결과를 조회할 때는 GET을, 사용자 정보를 생성하거나 업데이트할 때는 POST를 사용하는 것이 좋다
'Frontend' 카테고리의 다른 글
브라우저에 www.google.com 입력 시 일어나는 일 (0) | 2024.03.06 |
---|---|
브라우저 렌더링 과정 or 원리 (0) | 2024.03.06 |
HTTP 메소드 (0) | 2024.03.06 |
Context API란 (1) | 2024.03.06 |
RESTful api란? (2) | 2024.03.06 |