URI(Uniform Resource Identifier)
URI란?
URI란 인터넷에서 자원을 식별하기 위한 문자열을 의미한다.
웹 상의 특정 자원(파일, 페이지, API 등)을 식별하거나 위치를 지정하는 방식이다.
URI는 URL과 URN을 포함한다.
URL: 리소스가 있는 위치(Locator)를 지정
URN: 리소스에 이름(Name)을 부여
URI 구성 요소
schema://[userinfo@]host[:port][/path][?query][#fragment]
https://www.google.com:443/search?q=hello&hl=ko
- schema
주로 프로토콜을 정의. 어떤 방식으로 자원에 접근할 것인가
- userinfo
URL에 사용자 정보를 포함해서 인증해야될 때 사용. (거의 사용 안함)
- host
자원이 위치한 서버의 도메인 이름 or IP 주소
- port
서버와 통신하기 위한 포트를 지정. 생략시 프로토콜별 기본 포트 사용
HTTP 의 기본포트는 80, HTTPS의 기본포트는 443
- path
서버 내 자원의 위치
- query
자원에 대한 추가 정보를 제공하거나 동작을 요청할 때 사용.
? 뒤에 key=value 형태로 작성하고, 여러 키-값 쌍을 &로 구분.
- fragment
자원의 특정 부분을 지정. 브라우저가 프래그먼트를 사용하여 페이지 내 특정 위치로 이동
서버에 전송하는 정보는 아니다.
웹 브라우저 요청의 흐름
1. 브라우저에서 사용자가 URL을 입력.
2. DNS 서버로 도메인에서 목적지 IP 주소를 찾아냄. port가 생략되어 있다면 schema 부분으로 찾아냄.
3. 웹 브라우저가 HTTP/HTTPS 요청 메시지를 생성
4. Socket 라이브러리를 통해 IP와 PORT 정보를 기반으로 TCP/IP 연결
5. TCP/IP 패킷 생성 및 서버에 전달.
6. 서버에서 클라이언트의 요청을 확인하고 응답.
7. 브라우저 렌더링
이미지 출처/참고
모든 개발자를 위한 HTTP 웹 기본 지식 강의 | 김영한 - 인프런
김영한 | 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연
www.inflearn.com
'Computer Science > Network' 카테고리의 다른 글
포트(PORT)와 DNS (0) | 2025.01.24 |
---|---|
TCP/UDP (1) | 2025.01.23 |
IP(인터넷 프로토콜) (0) | 2025.01.22 |
HTTP vs HTTPS, SSL/TLS (0) | 2024.09.30 |
HTTP/1.0, HTTP/1.1, HTTP/2.0, HTTP/3.0(QUIC) (2) | 2024.09.30 |