개발 과정에서 HTTP 요청을 테스트하는 간단한 방법

웹 및 웹 서비스 개발자는 종종 HTTP 요청을 보내야 합니다. 이는 API 테스트, REST 및 SOAP 웹 서비스 테스트, 또는 웹 사이트 관리 등 다양한 목적으로 사용됩니다.

XMLSpy는 HTTP 윈도우와 WADL/WSDL 가져오기 기능을 통해 개발 과정에서 XML 및 JSON 편집기 내에서 HTTP 요청을 쉽게 보내고 받을 수 있도록 지원하며, 웹 서비스 디버깅에 유용한 시간을 절약해주는 강력한 도구입니다.

HTTP 요청 테스트

HTTP 프로토콜은 인터넷을 통해 파일(텍스트, 이미지 등)이 어떻게 전송되는지를 정의합니다. 모든 웹 서버는 HTTP 요청을 지속적으로 기다리고, 도착하는 각 요청을 처리하는 프로그램(데몬이라고 불림)을 실행합니다.

예를 들어, 웹사이트의 홈페이지를 방문하면, 사용자의 브라우저는 웹 서버에 HTTP 명령을 보내어 홈페이지를 다운로드하도록 요청합니다. 서버의 HTTP 데몬은 이 요청을 받고, 요청된 페이지를 전송합니다. 중요한 점은 HTTP 프로토콜이 "상태가 없는" 프로토콜이라는 것입니다. 즉, 각 HTTP 명령은 이전 또는 이후의 명령과 아무런 관련 없이 독립적으로 실행됩니다. 이러한 특성은 테스트 및 디버깅을 어렵게 만들 수 있습니다.

개발자들이 이 작업을 수행하는 데 도움을 드리기 위해, XMLSpy의 "HTTP 테스트 창"은 웹 서버에 HTTP 요청을 생성하고 전송하는 과정을 안내합니다. 그런 다음, 응답을 수신하고, 확인하고, 문제를 해결할 수 있습니다.

창문의 왼쪽 패널에는 요청 사항이 정의되어 있으며, 이 요청 사항은 다음 요소들로 구성될 수 있습니다:

  • 요청의 HTTP 메서드(GET, PUT, POST 등)와 대상 URL
  • 요청의 HTTP 헤더
  • 연결 설정 (예: 타임아웃 설정 및 보안 옵션)
  • POST 및 PUT 메서드에서는 HTTP 메시지 본문이 사용됩니다

HTTP 창에는 총 9개의 탭이 있으며, 이를 통해 여러 메시지를 저장하고 테스트할 수 있으며, 필요에 따라 탭을 전환하여 메시지를 쉽게 관리할 수 있습니다.

요청을 정의한 후, "전송" 버튼을 눌러 웹 서버로 요청을 보냅니다. 오른쪽 패널에서는 즉시 응답을 확인할 수 있으며, 이 패널에는 본문(위에 표시됨)과 헤더 정보가 표시됩니다

WADL 또는 WSDL 요청을 가져오기

또한, 다른 곳에서 가져온 요청을 불러와서 테스트를 시작할 수도 있습니다 WADL (정의되지 않음) (웹 애플리케이션 설명 언어) 파일은 HTTP 기반 애플리케이션에 대한 기계가 읽을 수 있는 설명을 제공하거나, 또는 WSDL SOAP 웹 서비스 엔드포인트에 대한 설명을 담고 있는 문서.

XMLSpy의 HTTP 창에는 WADL/WSDL 가져오기 기능이 내장되어 있으며, 이 기능을 사용하면 파일을 열고, 테스트할 요청을 선택하고, 요청의 수정 가능한 모든 매개변수를 변경하는 과정을 안내받을 수 있습니다.

그런 다음, 해당 요청을 HTTP 창으로 가져와서 요청을 보내고 응답을 확인할 수 있습니다.

REST API 디버깅하기

이제 실제 사례를 통해 HTTP 윈도우를 사용하여 웹 API로부터 응답을 테스트하는 방법을 살펴보겠습니다 시카고 시 데이터 포털 이는 누구나 사용할 수 있는 REST API로, 건축 허가부터 시 정부 예산, 도시 내 천식 입원 환자 수 등 다양한 분야에 대한 흥미로운 데이터를 제공합니다.

이번 예제에서는 교통 관련 범주를 살펴보고, 특히 신호 위반 데이터를 중심으로 살펴보겠습니다. HTTP 창에 URL을 입력하면 전체 데이터 세트를 가져올 수 있으며, 요청을 ".xml" 또는 ".json"으로 끝내면 반환되는 데이터의 형식을 지정할 수 있습니다. 이번에는 XML 형식을 선택했지만, 물론 XMLSpy는 두 형식 모두를 처리할 수 있는 내장 도구를 제공합니다. 아래에서 HTTP 창이 반환한 결과를 확인할 수 있습니다.

결과 창에서 데이터를 확인하거나, "새 문서 만들기"를 클릭하여 XMLSpy에서 문서를 텍스트 또는 표 형태로 열 수 있습니다. 이렇게 하면 API에서 반환된 데이터를 더 쉽게 탐색하고 검토할 수 있습니다.

파일에 저장된 데이터를 활용하면 XQuery를 사용하여 더욱 자세한 분석을 수행할 수 있습니다. 예를 들어, 20건 이상의 위반 사례가 발생한 카메라 위치를 살펴보겠습니다.

자, 이제 데이터를 다시 가져오겠습니다. 이번에는 JSON 형식으로 가져올게요.

여기서는 텍스트 보기로 열려 있습니다

그리고 또한 다음을 할 수 있습니다 JSON 데이터 보기 XMLSpy의 독특한 JSON 그리드 뷰를 사용하면 데이터를 시각적으로 표현할 수 있습니다. JSON 그리드 기능은 특히 대용량 데이터 세트를 다룰 때 반환된 데이터를 쉽게 확인하고 이해할 수 있도록 도와줍니다. 또한, JSON 편집기에는 아래와 같이 XQuery를 사용하여 데이터를 필터링하는 기능이 내장되어 있습니다. 저는 데이터를 필터링하여 할스테드 스트리트와 관련된 레코드만 표시했습니다.

HTTP 창은 내장된 보기 및 편집 도구와 함께 XMLSpy를 API, 웹 서비스 및 기타 HTTP 애플리케이션을 테스트하고 디버깅하는 데 매우 유용한 도구로 만들어줍니다.

다음 파일을 다운로드하세요 XMLSpy 체험 버전 (무료 평가판) HTTP 창을 사용해 보세요.