본문 바로가기
개발의 정석/웹

[#http] request 메세지를 raw 형태로 보고 분석하기

by 발자개발 2020. 3. 29.

 

 

 

request message를 raw 형태로 보고 분석해야하는 경우가 있다.

 

예를 들면 Transfer-Encoding: chunked 가 어떻게 동작하는지, 업로드 시에 Contenty-Type: multipart-form 은 어떤 형식으로 요청이 날라가게 되는건지 서버는 이를 어떻게 처리해야하는지 등을 파악하려면 요청 메세지를 원본 그대로 보고 분석해야한다.

 

명령어 nc

터미널을 키고 아래의 nc 명령어만 치면 8080 포트로 웹 서버가 구동 된다.

nc -l 8080

 

이제 테스트하길 원하는 어떤 명령이든 127.0.0.1:8080 (또는 localhost:8080) 으로 날려주면 된다.

 

예를 들어 파일 업로드 시 요청 메세지 원본을 보고 싶으면 아래 명령어를 치면 된다. (파일 위치/test.txt 부분은 실제 파일 위치로 바꿔주자)

curl -v -F '.=@/파일 위치/test.txt;filename=test.txt' 127.0.0.1:8080

 

그러면 아까 nc -l 8080 를 쳤던 터미널에서 아래와 같이원본 요청 메세지(raw request message)를 확인할 수 있다.

POST / HTTP/1.1
Host: 127.0.0.1:8080
User-Agent: curl/7.54.0
Accept: */*
Content-Length: 210
Expect: 100-continue
Content-Type: multipart/form-data; boundary=------------------------bec329e690b424df

--------------------------bec329e690b424df
Content-Disposition: form-data; name="."; filename="test.txt"
Content-Type: text/plain

this is first file.
byebye

--------------------------bec329e690b424df--

 

 

 

 

댓글