12 HTTP 클라이언트 및 웹 디버깅 프록시 도구

개발자와 시스템 관리자에게 필수적인 기술 중 하나는 애플리케이션, API 또는 서비스를 디버그하는 것이며 올바른 도구를 아는 것은 생명을 구하는 것입니다.

디버깅이란 무엇입니까?

범죄 드라마를 본다면 디버깅 이면의 아이디어가 낯설지 않을 것입니다. 디버깅은 프로세스이며 많은 전술이 필요합니다. 프로그램 내의 문제와 오류를 체계적으로 찾아 해결하는 것입니다.

또한 디버깅은 소프트웨어 또는 이 경우 웹 응용 프로그램의 올바른 작동을 방해할 수 있는 모든 문제를 분류합니다. API 또는 웹 애플리케이션을 디버깅하는 프로세스에는 주로 문제를 재현하려는 시도가 포함됩니다.

결과적으로 API 요청을 보내야 할 필요성이 나타납니다. 자, 여기에 문제가 있습니다. 대부분의 브라우저는 원본 헤더와 URL 크기 제한을 변경하는 것을 방지합니다.

즉, 문제를 재현하려면 일부 HTTP 조작을 수행해야 할 수 있습니다. 그리고 이를 위해서는 몇 가지 강력한 디버깅 도구가 필요합니다.

디버깅 프로세스의 모든 구성 요소 또는 전술에는 다음이 포함됩니다.

  • 대화형 디버깅
  • 제어 흐름 분석
  • 단위 테스트
  • 통합 테스트
  • 로그 파일 분석
  • 모니터링
  • 메모리 덤프
  • 프로파일링

일부 HTTP 클라이언트, 즉 웹 브라우저에는 웹 개발자 도구가 내장되어 있다는 사실은 흥미롭습니다. 이러한 도구를 사용하여 API를 디버그할 수 있습니다. 이를 염두에 두고 디버깅 도구를 작성할 필요가 없습니다.

HTTP 클라이언트란 무엇입니까?

웹 애플리케이션과 같이 분산 통신 또는 HTTP 인식을 위해 HTTP 프로토콜을 활용하는 시스템을 구축한다고 가정해 보겠습니다. 그런 다음 HTTP 클라이언트 구성 요소를 볼 수 있습니다.

HTTP 또는 HyperText Transfer Protocol은 URL을 입력할 때마다 웹에서 통신하거나 데이터를 전송할 수 있는 이유입니다. 인터넷 브라우징을 가능하게 하는 응용 프로토콜입니다.

이제 HTTP 클라이언트는 HTTP 텍스트 형식으로 서버에 요청을 보내고 같은 서버에서 응답을 받는 시스템입니다.

  Linux에서 Meltdown 및 Spectre에 취약한지 확인

HTTP 클라이언트와 HTTP 서버의 차이점을 아는 것은 필수적입니다.

HTTP 클라이언트와 서버의 차이점

HTTP 클라이언트는 웹 브라우저나 유틸리티인 경우가 많지만 HTTP 서버는 애플리케이션 서버에 대한 프록시 역할을 합니다.

간단히 말해서, 스마트폰, TV, 플레이스테이션, 실제로 인터넷에 연결할 수 있는 모든 장치는 아마도 HTTP 클라이언트를 사용하고 있을 것입니다.

마찬가지로 HTTP 서버는 HTTP 클라이언트가 연결하는 네트워크 컴퓨터입니다. 그들이 공유하는 관계는 대화형 관계에 가깝습니다. HTTP 클라이언트가 요청을 보내고 HTTP 서버가 응답하는 곳입니다.

HTTP 요청의 예

요청
결과
가져 오기
전체 리소스를 요청합니다.
머리
본문 없이 리소스를 요청합니다.
게시하다
기존 웹 리소스에 콘텐츠 추가
놓다
기존 웹 리소스 수정
삭제
지정된 리소스를 제거합니다.
추적하다
웹 리소스에 대한 변경 사항을 표시합니다.
옵션
URL에 사용 가능한 HTTP 메서드를 표시합니다.
연결하다
요청 연결을 투명한 TCP/IP 터널로 변환합니다.
반점
웹 리소스를 부분적으로 수정합니다.

웹 디버깅이 그 어느 때보다 쉬워졌습니다. 이러한 도구를 사용하면 원하는 것을 하는 동안 마침내 휴식을 취할 수 있습니다.

HTTPie

의 궁극적인 목표 HTTPie 웹 서비스 사용자 인터페이스와의 CLI 상호 작용을 친숙하게 만드는 것입니다. 이 도구는 자연 구문을 사용하여 요청을 보내기 위한 HTTP 명령을 제공합니다.

HTTPie는 디버깅, 테스트 및 HTTP 서버 연결에 사용할 수 있습니다. HTTP, HTTPS 및 프록시를 지원합니다.

하이라이트

  • 내장 JSON 지원 시스템
  • Windows, macOS 및 Linux에 설치할 수 있습니다.
  • 사용자 정의 HTTP 헤더 및 메소드
  • 양식 제출
  • 오프라인 모드
  • 기본 및 다이제스트 인증
  • 직관적인 구문

HTTPie를 로컬에 설치하고 싶지 않습니까?

걱정하지 마세요. 이제 실행할 수 있습니다. 온라인.

바이올리니스트

바이올리니스트 크로스 플랫폼 웹 디버깅 프록시입니다. 웹 세션을 조작하고 HTTPS 트래픽을 검사하며 컴퓨터와 인터넷 간의 트래픽을 모니터링하는 데 도움이 될 수 있습니다.

Windows, macOS 및 Linux에 Fiddler를 설치할 수 있습니다. 트래픽을 디버깅하는 데 가장 널리 사용되는 도구일 것입니다.

  iPad에서 Linux를 실행하는 방법

RESTer

RESTer Google Chrome 및 Firefox용 확장 프로그램으로 사용할 수 있습니다.

하이라이트

  • 기본 또는 Auth2 인증이 있는 권한 부여 헤더
  • 요청 기록 보기
  • 모든 메소드, URL, 본문 및 사용자 정의 헤더로 요청 수행
  • API 테스트 및 디버깅

모든 종류의 HTTP 요청을 보낼 수 있는 완전한 기능을 갖춘 HTTP 클라이언트입니다. Paw를 사용하여 API를 테스트하고 새로운 API를 탐색할 수도 있습니다.

Paw는 macOS 전용으로 제작되었으며 사용하기 쉬운 기능이 있습니다. Swagger, RAML 등을 가져와서 생성할 수 있으며 JSON 스키마를 지원합니다.

하이라이트

  • 기본, OAuth, 호크, 다이제스트와 같은 다중 인증 지원
  • 동적 값
  • 환경
  • 자바 스크립트 기반 확장을 통해 확장
  • 쿠키 및 세션 조작

요청자

요청자 HTTPie, Postman 및 Paw의 기능을 결합한 강력한 클라이언트입니다. Sublime Text 편집기에서만 작동합니다.

하이라이트

  • JSON 스키마 지원
  • 수집 및 기록 요청
  • 구문 강조 표시가 있는 컬러 출력
  • 모던 UX
  • 쿠키, 사용자 정의 헤더, 요청 본문 및 쿼리 매개변수를 쉽게 설정할 수 있습니다.
  • GraphQL 지원

우편 집배원

항상 API 작업을 하시나요?

Postman과 사랑에 빠지게 될 것입니다.

우편 집배원 웹 애플리케이션 디버깅에 사용되는 가장 인기 있는 HTTP 클라이언트 중 하나입니다. API를 더 빠르고 쉽게 개발할 수 있습니다.

하이라이트

  • 사용자 친화적인 인터페이스로 강력한 GUI를 제공합니다.
  • 요청 내역
  • 컬렉션 러너로 자동화된 테스트
  • 유연한 API 모니터링
  • REST, GraphQL, SOAP 지원
  • JSON 및 HTML을 포함한 다중 페이로드 지원

곱슬 곱슬하다

cURL은 URL 구문을 사용하여 데이터를 보내는 데 사용되는 명령줄 도구입니다.

좋은 점은 cURL이 기본적으로 대부분의 UNIX 기반 운영 체제에 설치된다는 것입니다. FTP, LDAP, POP3, SMTP, GOPHER, IMAP, HTTP, HTTPS 및 SCP를 포함한 많은 프로토콜을 지원합니다.

찰스 프록시

이름에서 알 수 있듯이, 찰스 프록시 HTTP 및 역방향 프록시입니다. 이를 통해 로컬 트래픽을 라우팅하여 작동합니다.

  Xfinity xFi Complete란 무엇입니까?

Charles를 SSL 프록시, 대역폭 제한, AJAX 디버깅, 중단점 등에 사용할 수 있습니다.

휘파람

휘파람 HTTP, HTTPS, WebSocket 및 TCP 트래픽을 캡처하고 조작하는 NodeJS 기반 크로스 플랫폼 디버깅 도구입니다.

먼저 NodeJS를 설치한 다음 npm을 사용하여 Whistle을 설치해야 합니다.

npm install -g whistle

기본 기능이 요구 사항에 맞지 않으면 언제든지 플러그인을 사용하여 기능을 확장할 수 있습니다.

미트프록시

미트프록시 보안 연구원들 사이에서 인기 있는 오픈 소스 HTTPS 프록시입니다. CLI, 웹 또는 Python API로 사용하십시오.

웹 인터페이스는 Chrome 개발자 도구의 모양과 느낌을 제공합니다. HTTP/2도 지원합니다.

대리인

위에서 언급한 Paw와 유사하게, 대리인 프리미엄 네이티브 macOS 웹 디버깅 프록시 응용 프로그램입니다.

웹 트래픽의 중간자 역할을 하며 다음을 비롯한 많은 기능을 제공합니다.

  • SSL 프록시
  • 반복 요청
  • 프로토버프
  • 재작성 스크립팅
  • 로컬 및 원격 맵
  • 콘텐츠 필터링
  • 구문 강조

Proxyman UI는 매우 인간 친화적입니다.

HTTP 툴킷

HTTP 툴킷 오픈 소스 HTTP 디버거입니다. Windows, Mac 및 Linux에서 사용할 수 있는 데스크톱 앱입니다.

다른 HTTP 디버거와 달리 HTTP 툴킷은 전체 컴퓨터에서 모든 것을 가로채는 대신 HTTPS 설정을 포함하여 특정 클라이언트에 대해 자동으로 대상이 지정된 가로채기를 제공하므로 관련 없는 트래픽을 캡처하거나 다른 애플리케이션을 방해하지 않습니다.

한 번의 클릭으로 브라우저 창(Chrome, Firefox 등 포함), Node.js, Python 및 PHP와 같은 백엔드/스크립팅 언어, 모든 명령줄 도구, Electron 앱, Android 장치 및 에뮬레이터(시스템 포함 수준 HTTPS 가로채기).

HTTP 툴킷은 중단점 및 HTTP(S) 트래픽 재작성, 수집된 트래픽 필터링 및 검색, 많은 인기 있는 요청 및 응답 본문 형식에 대한 강조 표시 및 자동 형식 지정을 포함한 표준 HTTP 디버거 기능을 지원합니다. HTTP(S)를 가로채고, 검사하고, 다시 작성하는 핵심 기능은 모두 무료로 사용할 수 있지만 가져오기/내보내기 및 자동화된 모의 규칙과 같은 일부 고급 프리미엄 기능에는 유료 계정이 필요합니다.

결론

위의 HTTP 클라이언트와 웹 디버깅 프록시는 여러 면에서 도움이 될 수 있습니다. 그들 중 대부분은 무료이거나 평가판을 제공하므로 그들 중 일부를 시도하여 귀하에게 적합한지 확인하십시오.

행복한 문제 해결!