URI와 웹 브라우저 요청 흐름

enjoy89·2022년 6월 15일
3

HTTP 웹 기본 지식

목록 보기
2/7
post-thumbnail

모든 개발자를 위한 HTTP 웹 기본 지식 강의를 공부하고 정리한 글입니다.

URI(Uniform Resource Identifier)

  • 자원(resource)를 식별하는 통합된 방법
  • Locator, Name 또는 둘 다 추가로 분류될 수 있다.

URL 문법


웹 브라우저 요청 흐름

  1. DNS 조회

    • www.google.com 를 호스팅하는 서버의 IP 주소를 찾는다.
  2. 찾은 IP 주소와 URL 내부의 PORT 정보를 바탕으로 HTTP 요청 메시지 생성한다.

    HTTP 요청 메시지
    
    GET /search?q=hello&hl=ko HTTP/1.1
    Host: www.google.com
    • 요청 메시지 구조: HTTP Method + Path부터 URL 정보 + HTTP 버전 정보 + Host 정보
  3. SOCKET 라이브러리를 통해 TCP/IP 계층에 전달한다.

    • 이전 단계에서 IP와 PORT 정보를 가지고 서버와 연결을 한다. (3 way handshake 방식)
  4. HTTP 요청 메시지를 포함하는 TCP/IP 패킷을 생성하고 서버에 전달한다.

  5. 서버는 패킷이 도착하면 내부 HTTP 메서드를 해석해서 이에 맞는 HTTP 응답 메시지를 생성한다.

    HTTP 응답 메시지
    
    HTTP/1.1 200 OK
    Content-Type: text/html;charset=UTF-8
    Content-Length: 3423
    
    <html>
    	<body>...</body>
    </html>
    • 응답 메시지 구조: HTTP 버전 + 상태코드 + Content-Type(응답 데이터의 형식) + Content-Length(응답 데이터의 길이) + 데이터
  6. 클라이언트에서는 응답 메시지를 받아 렌더링하여 사용자에게 보여준다.

profile
Backend Developer 💻 😺

0개의 댓글