-d로 POST 보내기
Coddy의 터미널로 네트워킹 배우기 코스 레슨. 47개 중 32번째.
지금까지 모든 요청은 무언가를 요청했습니다. -d는 대신 무언가를 보냅니다:
curl -s -d 'name=ada' http://127.0.0.1:9122/signup이를 추가하는 순간 두 가지 일이 일어납니다. curl은 별도의 지시 없이 메서드를 GET에서 POST로 전환하고, 지정한 내용을 요청 본문으로 첨부합니다.
따라서 -d는 단순히 "데이터 추가"가 아니라 요청의 종류를 변경합니다. 본문이 전혀 없는 POST를 원한다면 직접 -X POST라고 지정해야 합니다.
GET은 모든 사람이 보고 기록할 수 있도록 매개변수를 URL에 넣는 반면, POST는 매개변수를 본문에 넣습니다. 이것이 비밀번호가 있는 폼에서 POST를 사용하는 이유입니다. 본문이 암호화되기 때문이 아닙니다. 실제로 암호화되지 않습니다. URL은 브라우저 기록, 서버 로그 및 리퍼러 헤더에 남기 때문입니다.
챌린지
전문가첫 번째 POST를 전송하고 서버가 받은 내용을 다시 읽어 보세요.
- 포트 9122에서 캡처 리스너를 시작하세요 (200을 응답하고 요청을
req.txt에 기록합니다) name=ada를http://127.0.0.1:9122/signup으로 POST하세요req.txt의 첫 번째 줄을 출력하세요
예상 출력:
POST /signup HTTP/1.1curl에
--max-time 3을 지정하여 무한히 기다리지 않도록 하고, 출력을 버리세요.
직접 해보기
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
터미널로 네트워킹 배우기의 모든 레슨
직접 연습해 보세요: Terminal 플레이그라운드