** URI **
Uniform Resource Identifier
URI는 인터넷 상의 리소스를 식별하기 위해 사용하는 통일된 형식이다.
URI는 다음과 같이 Locator와 Name으로 분류된다
- URL (Uniform Resource Locator) : 리소스의 위치를 지정하여 자원을 찾을 수 있게 해준다.
- URN (Uniform Resource Name) : 리소스의 이름을 고유하게 부여한다. URN은 위치와 무관하게 특정 리소스를 나타내지만, URN만으로 리소스를 찾는 방식은 널리 사용되지 않는다.
위치는 변할 수 있지만, 이름은 변하지 않는다.
* URI 란 ?
- Uniform : 리소스(uri로 식별가능한 모든 자원)를 식별하는 통일된 방식
- Resource : 자원, URI로 식별할 수 있는 모든 것 (제한 없음)
- Identifier : 리소스를 다른 항목과 구분하는데 필요한 정보
* URL 문법
전체 문법
문법 >> scheme://[userinfo@]host[:port][/path][?query][#fragment]
예 >> https://www.google.com/search?q=hello&hl=ko
• https - 프로토콜
• www.google.com - 호스트명
• 443 - 포트 번호
• /search - 패쓰 (path)
• q=hello&hl=ko - 쿼리파라미터 or 쿼리스트링
- 주로 프로토콜 사용
- 프로토콜 : 어떤 방식으로 자원에 접근할 것인가 하는 약속과 규칙 예) http, https, ftp 등등
- http는 80포트, https는 443 포트를 주로 사용, 포트는 생략가능
- https는 http에 보안 추가 (HTTP Secure)
* URP 의 세부 구성 요소
userinfo | • 사용자 정보를 포함해 인증을 제공 (userinfo@ 형식). 거의 사용되지 않음 • scheme://[userinfo@]host:[:port][/path][?query][#fragment] |
host | • 호스트명 • 도메인명 또는 IP 주소를 직접 사용가능 |
port | • 연결할 포트 번호 (기본 포트를 사용할 경우 생략 가능). • 생략시 http는 80, https는 443 |
path | • 리소스 경로, 계층적 구조를 따르며, 서버 내 위치를 나타냄. • 예) /home/file1.jpg /members /members/100 /items/iphone12 |
query | • key=value 형태 ( 웹서버에 제공하는 문자형태의 파라미터 ) • ?로 시작하며, &로 추가 가능 ?keyA=valueA&keyB=valueB • 웹 요청에서 query parameter, query string 등으로 불림 ( 공식적으로는 query ) |
fragment | • 리소스 내 특정 위치를 지정 • 예) html 내부 북마크 등에 사용 • 서버에 전송하는 정보 아님 |
** 웹 브라우저 요청 흐름 **
- 사용자가 브라우저에 URL을 입력한다.
- 브라우저는 DNS를 통해 도메인명을 IP 주소로 변환하여 해당 서버로 연결을 설정한다.
- HTTP/HTTPS 프로토콜을 사용해 웹 서버에 요청을 보내고, 서버는 요청에 응답해 웹 페이지의 리소스를 반환한다.
- 반환된 리소스를 브라우저가 해석하여 화면에 표시한다.
* 순서
1. HTTP 메시지 생성 |
2. 패킷 생성 |
3. 패킷 전달 및 도착 |
|
4. 응답 패킷 전달 |
|
'HTML' 카테고리의 다른 글
인터넷 네트워크 ( IP / TCP / UDP / PORT / DNS ) (0) | 2024.11.05 |
---|