티스토리 뷰

URI(Uniform Resource Identifier)
URI를 URN과 URL로 분류할 수 있다.
Resource가 locator인지 name인지에 따라 분류


URN(Uniform Resource Name)
Resource에 이름을 부여, 이름은 변하지 않음
URN 이름 만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않음 -> URL을 주로 사용


URL(Uniform Resource Locator)
Resource가 있는 위치를 지정, 위치는 변할 수 있음
문법 => scheme://[userinfo@]host[:post][/path][?query][#fragment]
             https://www.google.com:443/search?q=hello&hl=ko

scheme - 프로토콜 사용(http, https, ftp)
userinfo - URL에 사용자정보를 포함해서 인증한다.
host - 호스트명, 도메인명이나 IP주소를 직접 입력하여 사용한다.
PORT - 접속 포트 번호를 사용, http = 80, https = 443, 일반적으로 생략한다.
path - 리스트 경로를 사용, 계층적인 구조이다. ex) /moogihoo/work1
query - key = value 형태로 존재, ?로 시작하며 &로 추가 가능하다. query parameter나 query String이라 부른다.
fragment - html 내부 북마크를 위해 사용하며 서버에 전송하는 정보는 아니다.

웹 브라우저 요청 흐름
웹 브라우저는 URL에서 DNS를 조회하여 IP주소를 얻고, PORT번호를 얻는다. 그 후 HTTP 요청 메세지를 작성한다. 

HTTP 메세지 전송 과정은 
1. 웹 브라우저가 HTTP 메세지 생성 -> socket 라이브러리를 통해 전달한다. 
2. TCP/IP 패킷을 생성하고 네트워크를 통해 서버로 전달한다.

패킷 - 출발지 IP, PORT / 목적지 IP, PORT / 전송데이터 = HTTP 메세지

정리
웹 브라우저에서 요청 패킷(HTTP 요청 메세지)을 서버에 전달하면 서버는 응답 패킷(HTTP  응답 메세지)을 웹 브라우저로 전송한다.

공지사항
최근에 올라온 글
최근에 달린 댓글
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31