Network - 네트워크의 원리(1)

YangJiWon·2020년 6월 13일
0

브라우저의 동작

  • 브라우저가 처음 하는 일은 웹 서버에 보내는 리퀘스트의 메시지를 작성하기 위해 URL를 해독합니다.
  • URL의 맨마지막에 디렉토리인지 파일명인지 모를 때에는 브라우저가 같은 파일명이 있는지, 디렉토리명이 있는지 확인합니다.

HTTP 프로토콜

  • 클라이언트와 서버가 주고받는 메시지의 내용이나 순서를 정한 것
  • HTTP 프로토콜로 통신 하는 순서
  1. 클라이언트에서 서버를 향해 리퀘스트 메시지를 보냅니다. 리퀘스트 메시지에서는 '무엇을', '어떻게 해서'하겠다는 내용이 쓰여있습니다.
  2. '무엇을' -> URI, '어떻게 해서' -> 메소드(GET, POST 등), 추가로 헤더 파일이 존재
  3. 리퀘스트 메시지가 웹 서버에 도착하면 웹 서버는 그 속에 쓰여있는 내용을 해독합니다.
  4. URI와 메시지를 조사하여 '무엇을', '어떻게 하는지' 판단한 후 요구에 따라 동작하고, 결과 데이터를 응답 메시지에 저장합니다.
  5. 응답 메시지의 맨 앞 부분에는 실행 결과가 정상 종료되었는지 또는 이상이 발생했는지를 나타내는 스테이터스 코드(200, 404 등)가 있습니다.
  6. 헤더 파일과 페이지의 데이터가 이어지고, 응답 메시지를 클라이언트에 반송합니다.
  7. 클라이언트에 도착하면 브라우저가 메시지의 안에서 데이터를 추출하여 화면에 표시하면서 HTTP의 동작은 끝납니다.

리퀘스트 메시지

  • 리퀘스트 라인, 메시지 헤더, 메시지 본문으로 나눠져 있다.
  • 리퀘스트 라인에는 메소드와 URI, HTTP 버전이 쓰여있습니다.
  • GET의 경우 리퀘스트 라인의 메소드와 URI만으로 웹 서버가 무엇을 할지 판단할 수 있으므로 메시지 본문에 쓰는 송신 데이터는 아무 것도 없습니다. 따라서 메시지 헤더가 끝난 곳에서 메시지가 끝납니다.
  • POST의 경우에는 폼에 입력한 데이터 등을 메시지 본문 부분에 씁니다. 이로써 리퀘스트 메시지 작성 동작이 완료됩니다.
  • 리퀘스트 메시지에 쓰는 URI는 한 개만으로 결정되어 있으므로 파일을 한 번에 한 개씩만 읽을 수 있기 때문에 파일을 따로따로 읽어야 합니다. 예를 들어 한 문장에 3개의 영상이 포함되어 있다면 문장 파일을 읽는 리퀘스트와 영상 파일을 읽는 리퀘스트로, 총 4회 리퀘스트 메시지를 웹 서버에 보냅니다.
profile
데이터데이터데이터!!

0개의 댓글