POST /admin HTTP/1.1
Host: host1.dreamhack.games:포트
User-Agent: Admin Browser
이렇게 DATA에 입력후 제출해보면, timed out을 반환하고
POST /admin HTTP/1.1
Host: host1.dreamhack.games:포트
User-Agent: Admin Browser
이렇게 개행을 두번 한 후에 제출을 하면 only admin browser를 반환합니다
콜론사이에 공백을 없애보기도, 추가해보기도 하였지만 전부 똑같이 only admin browser가 반환되었습니다
아주 바보같은 실수를 한것같긴합니다만, 그 실수가 무엇인지 알 수가 없네요 ㅠ
POST 요청은 반드시 바디데이터가 있어야 하는데
POST /admin HTTP/1.1
Host: host1.dreamhack.games:포트
User-Agent: Admin Browser
이렇게 제출하면 헤더만 있고 바디가 없어서 프로그램이 당황하고 대답을 안줘서 timed out이 뜬 것 같고요.
바디와 헤더는 빈줄로 구별하죠.
POST /admin HTTP/1.1
Host: host1.dreamhack.games:포트
User-Agent: Admin Browser
이렇게 제출하면 빈줄 다음으로는 전부 바디로 인식하기 때문에 헤더가 없고
Host: host1.dreamhack.games:포트
User-Agent: Admin Browser
를 전부 바디라고 생각해 User-Agent: Admin Browser
을 헤더로 생각하지 않고 무시한 것 같습니다. 그래서 only admin browser
가 뜬 것 같습니다. 그러므로
POST /admin HTTP/1.1
Host: host1.dreamhack.games:포트
User-Agent: Admin Browser
어떤 헤더: 어쩌구
저쩌구: 어쩌구
a=b&c=d
이런 식으로 보내시면 될 것 같습니다. 헤더에는 바디의 크기를 담는 Content-Length
나 바디의 종류를 알려주는 Content-type
도 추가하셔야 합니다. 브라우저의 개발자 도구로 실제 POST request의 헤더와 바디가 어떻게 생겼는지 볼 수 있습니다. 실제로 폼 데이터에 담긴 정보가 어떻게 전달되는지 확인해보세요