요청의 구조
Coddy의 터미널로 네트워킹 배우기 코스 레슨. 47개 중 20번째.
curl 아래에서 HTTP 요청은 소켓을 통해 전송되는 일반 텍스트입니다. 요청은 원하는 것을 나타내는 한 줄로 시작합니다.
GET /index.html HTTP/1.1세 부분으로 구성됩니다. 메서드(어떤 종류의 작업인지), 경로(어떤 대상인지), 그리고 버전입니다. 그다음에는 한 줄에 하나씩 헤더가 오고, 빈 줄, 그리고 선택적인 본문이 옵니다.
빈 줄은 장식이 아닙니다. 서버가 헤더가 끝났고 본문이 있다면 본문이 시작된다는 것을 알아내는 방법입니다. 빈 줄이 없는 요청은 서버가 나머지 내용을 계속 기다리기 때문에 멈춰 있습니다.
직접 하나를 전송할 수도 있습니다. nc는 원시 연결을 열고, 입력하는 내용은 무엇이든 그대로 네트워크를 통해 전송됩니다.
printf 'GET / HTTP/1.0\r\n\r\n' | nc 127.0.0.1 9110\r\n은 HTTP에 필요한 줄 끝 문자이며, 두 번 연속된 것은 빈 줄입니다.
챌린지
어려움curl을 완전히 건너뛰고 직접 HTTP를 사용하세요.
raw를 포함하는index.html을 만드세요.- 폴더를 포트 9110에서 제공하세요.
nc를 통해 원시GET /index.html HTTP/1.0요청을 보내고 돌아오는 내용의 첫 번째 줄만 출력하세요.
그 첫 번째 줄은 서버의 상태 줄입니다. 예상 출력:
HTTP/1.0 200 OK빈 줄을 기억하세요:
printf 'GET /index.html HTTP/1.0\r\n\r\n'.
직접 해보기
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
터미널로 네트워킹 배우기의 모든 레슨
직접 연습해 보세요: Terminal 플레이그라운드