티스토리 뷰

728x90
반응형
pastebin이란?

혹시 이런 경험 해본 사람 있는가?

1. Virtualbox나 VMware 같은 가상 머신에서 복사 붙여넣기가 안되는 상황

2. 온라인으로 쓸 데 없는 내용을 개인정보를 노출하지 않는 선에서 빠르게 공유하고 싶은 상황

...

 

필자는 이런 1번 2번 모두 겪어보았다. 이런 상황에서 쓰기 좋은 온라인 도구로 pastebin이라는 것이 있다.

pastebin은 말그대로 복사 붙여넣기 한 내용을 대충 쓰레기통에 버리듯이 넣는 것을 의미한다.

 

보통 1번 상황에서는 가상머신과 로컬 컴퓨터 간의 복사 붙여넣기한 내용이 공유가 안되는 상황인데, 이 때는 일반적으로 공유폴더 설정을 하던지, 네트워크 공유를 한다던지, 이메일을 보내서 텍스트 내용을 공유할 수 있다. (물론 가장 좋은 방법으로는 원 문제점을 해결하는 것인데, 이것이 쉽지 않으니깐 편법을 쓰는 것이다)

그리고 다른 사람은 모르겠지만, 나는 위에 나열한 설정이나 이메일에 로그인해서 메일을 보내는 것이 너무 귀찮다.

그렇기에 이 pastebin이라는 걸 사용한다. pastebin은 서비스의 이름일 뿐이다. 해당 서비스를 구현해놓은 웹사이트는 많다. 그 중에서 무료로 사용할 수 있는 사이트 아무거나 사용하면 된다.

 

내가 자주 사용하는 건 pastebin.com/이다. 작성하고자 하는 내용을 아래 New Paste 텍스트 상자에 입력하고 아래 스크롤을 조금 내려보면 나오는 Create New Paste를 누르면 바로 링크가 생성된다. 물론 옵션을 보면 알다시피, 아무나 볼 수 없도록 비밀번호를 걸 수도 있다고 한다.

그리고 Paste를 생성하였다면, 아래처럼 나오는데, 우측에 raw, download 등등이 있는 걸 볼 수 있다. raw는 내용 그자체를 가지고 있는 링크를 새 창으로 여는데, 새 창으로 열리는 사이트의 URL 주소를 복사해서 다른 사람에게 공유할 수 있다. download는 말그대로 다운로드 할 수 있다.

아래 이미지는 raw를 눌렀을 때 나오는 페이지다. URL 주소가 raw가 포함되어 있는 걸 확인할 수 있고, 작성한 내용이 텍스트 그대로 나오는 걸 확인할 수 있다.

내가 방금 사용한 pastebin 서비스에서는 손님(guest)도 무료로 사용할 수 있지만, 회원가입을 하고 로그인을 해서 사용하게 되면, pastebin에 작성한 내용을 수정 또는 삭제할 수 있다고 한다. 만약 이곳에 중요한 민감 개인 정보를 실수로 손님 계정으로 올렸다가, 삭제하지 못하여 곤란한 상황이 닥치면 문제가 되니 주의해야 한다.

 

다음은 pastebin이랑 비슷한 어원으로 requestbin에 대해 설명해보겠다.

 

requestbin이란?

requestbin이란 단어를 보면 어떤 게 생각나는가? bin은 영어로 쓰레기통을 의미한다. request는 그럼 어떤 의미일까?

일반적으로 웹에서 특정한 사이트를 접속하게 되면 서버에 사이트를 보여달라고 클라이언트(웹브라우저)에서 요청(request)를 하게 된다. 여기서 이 요청이 request를 의미한다.

 

requestbin은 클라이언트에서 요청한 정보를 쓰레기통에 담아서 보여주는(?) 서비스이다. 말로 해서는 잘 이해가 안될 수 있다. 직접 해보자.

 

requestbin도 여러 사이트가 있다. 그 중에서 내가 가장 많이 사용하는 곳은 requestbin.com/ 이다.

처음 사이트에 접속하면 아래와 같이 보인다.

requestbin을 실험하기 위해서 Create Request Bin 버튼을 눌러보겠다. 그럼 바로 로그인하라고 나오는데 로그인 하고서 접속해본다. 그럼 아래와 같이 나온다. 빨간색과 파란색 상자는 내가 임의로 표시해놓은 것인데, 빨간색은 requestbin 사이트에서 제공 받은 임의의 URL주소이고, 클라이언트(웹브라우저)에서 해당 URL로 웹을 요청하면 된다는 것이다. 그리고 파란색 상자는 톱니바퀴 모양이 계속 돌아가는데, 이것은 로딩 중임을 의미한다. 제공 받은 임의의 URL주소에 요청을 보내면, 톱니바퀴 모양이 사라지고, 어디로부터 어떤 내용을 요청받았는 지 표시된다.

한번 해보겠다. 제공받은 임의의 URL주소를 브라우저 URL 주소 입력란에 입력하고, 뒤에 파라미터를 테스트용으로 한 개 적어서 보내줘보겠다. 입력한 주소는 아래와 같다. 파라미터는 test에 값으로 abcd를 보내본다.

https://enhnmavp18i5j31.m.pipedream.net/?test=abcd

URL을 요청하면 위와 같이 나오는데, json 형태로 결과 값이 출력이 되는 걸 확인할 수 있다. 참고로 필자는 Chrome 브라우저의 JSON Viewer 플러그인을 설치해서 위와 같이 보이는 것이지, 일반적으로는 아래와 같이 내용이 보일 것이다.

자 URL 접속 결과는 위와 같다는 걸 알 수 있겠고, 그럼 다시 requestbin 사이트로 돌아가보자. 이제 톱니바퀴 모양이 사라지고, 클라이언트로부터 도착한 request(요청) 결과가 보일 것이다.

보니깐 클라이언트로부터 들어온 request(요청)이 두개나 된다. 이상하다 분명히 URL을 한 번 입력해서 접속했을 뿐인데 말이다. 사실 첫번째 요청은 favicon(파비콘 - 사이트의 로고 같은 것)에 대한 요청이다. 인터넷 브라우저에서는 일반적으로 어떤 사이트를 처음 요청했을 때 favicon에 대한 정보를 요청하게 된다.

 

그래서 우리가 파라미터를 넣어서 요청을 보낸 건은 두번째에 해당된다. 위 사진을 보면 알다시피 query 부분에 우리가 입력한 파라미터 test=abcd를 포함한 URL이 있는 걸 확인할 수 있다.

 

requestbin은 일반적으로 다음과 같은 상황에서 사용될 수 있다.

1. 본인이 소유/운영하고 있는 웹서버가 존재하지 않을 때, 클라이언트로부터 요청이 제대로 보내지는 지 확인하기 위함

2. 클라이언트로부터 받은 요청(메시지)를 수집하기 위해서 사용될 수도 있다.

 

requestbin은 웹 사이트 점검 시나 개발 시에 실제로 많이 사용하고, 사실 로컬 컴퓨터에 python이나 기타 http 서버를 열 수 있는 프로그래밍 언어가 설치되어 있다면, requestbin을 굳이 사용할 필요는 없긴 하다. 하지만 아무래도 웹이고 GUI(graphic user interface) 기반이다 보니, 편의상 웹 서비스 기반 requestbin이 훨씬 큰 장점을 가지고 있다고도 볼 수 있는 것 같다.

 

참고로 동일한 기능을 하는 사이트이되 별도의 로그인이 필요없는 사이트로 webhook.site 라는 곳이 있다. 참고 : https://webhook.site/

 

Webhook.site - Test, process and transform emails and HTTP requests

This URL received over {{ appConfig.MaxRequests }} requests and can't accept more webhooks. New requests sent to this URL will return HTTP status code 410 Gone and won't be logged. You can unlock unlimited requests by upgrading to Webhook.site Pro. Webhook

webhook.site

 

- 끝 -

728x90
반응형
댓글