2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

Postman에서 요청의 응답을 캐시하는 방법은 무엇인가요?

_____
Q1: Postman에서 요청 응답을 어떻게 캐시할 수 있나요?
Postman 자체는 별도의 내장 캐시 기능을 제공하지 않지만, 다음과 같은 방법으로 응답을 캐시하거나 재사용할 수 있습니다:
- 환경 변수에 저장: 요청에 대한 응답 데이터를 스크립트에서 변수에 저장하여 이후 요청에서 재사용.
- 로컬 파일 저장: 응답을 export하여 로컬에 저장 후 필요 시 복사해서 사용.
- Mock 서버 활용: 동일한 응답을 자주 사용한다면 Postman Mock 서버를 설정해 응답을 캐싱하듯 재사용 가능.

---

Q2: 환경 변수에 응답을 저장하는 방법은?
1. 요청 탭 아래 Tests 스크립트 영역에 JavaScript 코드를 작성합니다.
2. 예를 들어, 응답의 특정 JSON 값(response.json().token)을 변수에 저장하려면:
```javascript
let responseData = pm.response.json();
pm.environment.set("token", responseData.token);
```
3. 이후 다른 요청에서 `{{token}}` 변수로 사용할 수 있습니다.

---

Q3: 캐시된 응답을 활용하는 예는?
- 로그인 요청 시 받은 토큰을 환경 변수에 저장 후, 다른 API 요청 헤더에 `Authorization: Bearer {{token}}` 형태로 활용.
- 특정 데이터 ID를 변수로 저장 후 여러 요청에서 재사용.

---

Q4: Postman 내장 캐시 설정 기능이 있나요?
아니요. Postman은 브라우저와 달리 HTTP 응답 캐시를 자동으로 관리하지 않습니다. 따라서 직접 스크립트로 저장하거나 Mock 서버, 외부 저장소를 이용해야 합니다.

---

Q5: Mock 서버를 이용한 캐시 재현 방법은?
- Postman에서 Mock 서버 생성 후, 특정 요청에 대한 예측 가능한 응답을 등록합니다.
- 실제 API 호출 없이도 동일한 응답을 계속 받을 수 있어 캐시처럼 활용 가능.

---

Q6: 외부 플러그인이나 확장 기능으로 캐싱할 수 있나요?
Postman 공식적으로는 없지만, Postman 외부에서 별도 스크립트나 프록시 서버를 두고 캐싱 로직을 수행할 수 있습니다.

---

요약:
Postman 내에서 자동 응답 캐시는 지원하지 않으나, 환경 변수 저장, Mock 서버 활용, 수동 저장 등으로 요청 응답을 효과적으로 재사용할 수 있습니다.
Postman은 API 테스트 및 개발을 위한 강력한 도구로, 요청을 보내고 응답을 확인하는 데 유용합니다.

때때로, 동일한 요청을 여러 번 보내야 할 필요가 있을 수 있으며, 이때 응답을 캐시하면 효율성을 높일 수 있습니다.

Postman에서 요청의 응답을 캐시하는 방법에 대해 자세히 설명하겠습니다.

1. Postman의 기본 캐싱 메커니즘 이해하기 Postman은 기본적으로 요청을 보낼 때 HTTP 프로토콜의 캐싱 메커니즘을 따릅니다.

서버가 응답에 `Cache-Control` 헤더를 포함하면, Postman은 이 정보를 바탕으로 응답을 캐시할 수 있습니다.

그러나 Postman 자체적으로 응답을 저장하는 캐시 기능은 제공하지 않으므로, 사용자가 수동으로 캐시를 관리해야 합니다.



2. 요청 응답을 수동으로 캐시하기 Postman에서 요청의 응답을 수동으로 캐시하려면 다음과 같은 방법을 사용할 수 있습니다.

a. 환경 변수 사용하기 1. 응답 저장 : 요청을 보내고 응답을 받은 후, 응답 데이터를 Postman의 환경 변수에 저장할 수 있습니다.

이를 위해 `Tests` 탭에서 JavaScript 코드를 작성합니다.

```javascript pm.environment.set("cachedResponse", JSON.stringify(pm.response.json())); ```

2. 응답 사용 : 이후 요청을 보낼 때, 환경 변수를 사용하여 캐시된 응답을 활용할 수 있습니다.

예를 들어, 요청의 본문이나 URL에 캐시된 데이터를 사용할 수 있습니다.

```javascript const cachedResponse = pm.environment.get("cachedResponse"); if (cachedResponse) { // 캐시된 응답을 사용 console.log("Cached Response: ", JSON.parse(cachedResponse)); } else { // 새로운 요청을 보내기 } ``` b. 컬렉션 변수 사용하기 컬렉션 변수를 사용하여 여러 요청 간에 응답을 공유할 수도 있습니다.

컬렉션 변수를 설정하는 방법은 환경 변수와 유사합니다.

1. 응답 저장 : 요청의 `Tests` 탭에서 다음과 같이 작성합니다.

```javascript pm.collectionVariables.set("cachedResponse", JSON.stringify(pm.response.json())); ```

2. 응답 사용 : 다른 요청에서 컬렉션 변수를 참조하여 캐시된 응답을 사용할 수 있습니다.

```javascript const cachedResponse = pm.collectionVariables.get("cachedResponse"); if (cachedResponse) { console.log("Cached Response: ", JSON.parse(cachedResponse)); } ```

3. 캐시 무효화 캐시된 응답이 더 이상 유효하지 않을 경우, 수동으로 캐시를 무효화해야 합니다.

이를 위해 다음과 같은 방법을 사용할 수 있습니다.

- 변수 삭제 : 환경 변수 또는 컬렉션 변수를 삭제하여 캐시를 무효화합니다.

```javascript pm.environment.unset("cachedResponse"); ``` - 조건부 요청 : 서버에서 제공하는 `ETag` 또는 `Last-Modified` 헤더를 사용하여 조건부 요청을 보내고, 서버가 응답을 변경한 경우에만 새로운 데이터를 가져옵니다.



4. Postman의 Pre-request Script 활용하기 Postman의 `Pre-request Script` 탭을 사용하여 요청을 보내기 전에 캐시된 응답을 확인하고, 필요에 따라 새로운 요청을 보내도록 설정할 수 있습니다.

```javascript const cachedResponse = pm.environment.get("cachedResponse"); if (cachedResponse) { // 캐시된 응답이 존재할 경우, 요청을 생략하거나 다른 로직을 수행 console.log("Using cached response: ", JSON.parse(cachedResponse)); } else { // 새로운 요청을 보내기 } ``` 결론 Postman에서 요청의 응답을 캐시하는 방법은 여러 가지가 있으며, 환경 변수나 컬렉션 변수를 활용하여 수동으로 캐시를 관리할 수 있습니다.

이러한 방법을 통해 API 테스트의 효율성을 높이고, 불필요한 요청을 줄일 수 있습니다.

캐시된 응답을 적절히 활용하고, 필요에 따라 캐시를 무효화하는 전략을 세우는 것이 중요합니다.

작성자: 김민준 [비회원] | 작성일자: 1년 전 2024-11-24 07:41:36
조회수: 134 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.