웹은 어떻게 작동하는가

열어본 모든 페이지는 같은 짧은 여정을 따릅니다. 주소로 뭔가를 요청하면, 어딘가의 컴퓨터가 텍스트 문서를 보내주고, 브라우저가 그 텍스트를 보이는 페이지로 변환합니다. HTML은 그 텍스트가 작성되는 언어이므로, 그것이 거치는 여정을 이해하는 것은 이 핸드북의 모든 것의 배경입니다.
클라이언트와 서버
웹은 양쪽 간의 대화입니다. 브라우저는 페이지를 요청하는 프로그램인 **클라이언트**입니다. 웹사이트를 가지고 있다가 전달해주는 컴퓨터가 서버입니다. 당신이 요청하면, 서버가 답합니다.
레스토랑에서 주문하는 것으로 생각해보세요. 당신은 고객이고, 주방은 보이지 않는 곳에 있으며, 웨이터가 주문을 왕복으로 날라줍니다. 당신은 주방에 들어가서 요리를 하지 않습니다. 요리를 요청하면, 주방이 요리를 준비해서 보내줍니다. 브라우저는 고객이고, 서버는 주방이며, 웹은 둘 사이를 오가는 웨이터입니다.
URL과 도메인
당신이 입력하는 주소는 URL: 균일 자원 위치입니다. 웹 위의 한 가지 것의 전체 주소이며, 우편 주소가 한 집을 가리키는 방식과 같습니다.
https://scrimba.com/learn을 봅시다. https 부분은 브라우저가 서버와 어떻게 대화해야 하는지입니다. scrimba.com 부분은 도메인이며, 웹사이트의 이름으로 거리와 도시 같은 것입니다. /learn 부분은 특정 페이지로의 경로이며, 집 번호 같은 것입니다. 함께, 그들은 정확히 한 페이지를 가리키고, 입력하는 것은 브라우저에 어디로 가야 하는지 알려줍니다.
https는 서버와 대화하는 방식을 말하고, scrimba.com 같은 도메인은 사이트의 이름이며, /learn 같은 경로는 그것의 한 페이지를 가리킵니다. 왼쪽에서 오른쪽으로 읽으면 브라우저가 정확히 어디로 가는지 알려줍니다. 요청과 응답 주기
엔터를 누르면, 브라우저는 서버로 **요청**을 보냅니다: "이 페이지를 보내주세요"라고 말하는 짧은 메시지. 서버는 응답을 보냅니다: 페이지 그 자체. 그 왕복이 한 번의 완전한 여정이고, 페이지를 열거나 링크를 클릭할 때마다 일어나는 것입니다.
도서관 사서에게 책을 요청하는 것으로 생각해보세요. 제목을 말하고(당신의 요청), 사서가 찾아서 건네줍니다(응답), 이제 당신은 손에 들고 있습니다. 책이 없으면, 사서는 대신 그것을 알려줍니다. 그것도 한 가지 응답입니다. 웹도 같은 방식으로 작동하지만, 훨씬 빠르고 초당 여러 번입니다.
브라우저가 받은 HTML로 하는 것
응답은 페이지만큼의 HTML 텍스트입니다. 브라우저는 그 텍스트를 위에서 아래로 읽고 화면에 그립니다: 제목 태그를 보고 크고 굵은 텍스트를 보여주고, 단락 태그를 보고 본문 텍스트의 줄을 보여주고, 이미지 태그를 보고 사진을 가져옵니다.
레시피를 읽고 요리하는 것으로 생각할 수 있습니다. 텍스트는 식사 그 자체가 아니라 식사에 대한 설명이고, 브라우저는 그 설명을 실제로 볼 수 있고 사용할 수 있는 것으로 바꾸는 요리사입니다. 같은 HTML은 항상 같은 페이지를 만듭니다. 브라우저가 매번 같은 지침을 따르기 때문입니다.

