일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Pair
- Articulation_Point
- 문법
- Biconnected_Component
- sort
- Algorithm
- Heap
- singly Linked List
- template
- deletion
- list
- sstream
- class_template
- 예제
- c++
- 자료구조
- qsort
- STL
- function_template
- Critical_Path_Analysis
- 알고리즘
- red-black tree
- connected_component
- 총정리
- 5397
- 구현
- 백준
- 13305
- data_structure
- '0'
- Today
- Total
- Today
- Total
- 방명록
어제의 나보다 성장한 오늘의 나
[HTTP] Resource , URI , URL , URN 에 대해 알아보자 본문
HTTP를 공부하다가 Resource, URI , URL , URN 의 개념에 대해 공부하게 되었습니다.
겹치는 부분이 많다 보니 제대로 공부하지 않으면 굉장히 헷갈리는 개념입니다.
그래서 오늘 이것들에 대해 정리를 해보기로 했습니다.
1. Resource
인터넷 상의 Resource 란 URI(Uniform Resource Identifier)를 통해 유일하게 식별되고 접근할 수 있는 모든 형태의 디지털 자산 또는 서비스를 의미합니다. 이는 웹 페이지, 이미지 파일, 비디오, API 엔드포인트, 문서, 소프트웨어 컴포넌트 등 인터넷을 통해 제공되고 사용될 수 있는 데이터나 기능을 포함합니다. 물론 html, css 파일도 이곳에 포함됩니다.
이것들을 식별할 수 있도록 도와주는 것에는 URI, URL , URN 등이 있습니다.
2. URI (Uniform Resource Identifier)
URI는 인터넷 상의 Resource를 식별하기 위한 고유한 문자열입니다.
Uniform : Resource를 식별하는 방식이 통일 되어 있다.
Resource : 위에서 정의한 모든 형태의 디지털 자산과 서비스.
Identifier : 다른 리소스와의 구별을 위한 고유한 식별자.
URI 안에는 URL과 URN이 있습니다. 즉 URI가 더 큰 개념으로 URL과 URN을 포괄하고 있습니다.
3. URL (Uniform Resource Locator)
URL은 웹 상에서의 리소스의 위치를 나타내는 문자열입니다. 웹 주소 라고도 합니다.
웹 브라우징, 하이퍼링크 , API 호출 등에서 주로 사용됩니다.
예시
http://www.example.com
ftp://ftp.example.com/downloads/file.zip
4. URN ( Uniform Resource Name )
인터넷 상의 리소스를 식별하기 위한 유니크한 이름을 제공하는 URI의 한 형태
주로 사용 되는 곳
디지털 객체 식별: 학술 문서, 연구 보고서, 정부 문서와 같은 디지털 콘텐츠에 대해 식별자 제공
네임스페이스 관리: 소프트웨어 개발, XML 문서, 네트워크 프로토콜 설정 등에서 특정 네임스페이스 내의 요소에 대해 식별자 제공
예시
urn:isbn:0451450523
urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66
이렇게 URI와 URL과 URN을 구별해보았습니다. 웹 개발에서 URI 보다는 URL이라고 말하는게 좀 더 정확한 표현일 수 있겠다는 생각이 드네요. 그리고 웹 개발자라면 URN 보다는 URL에 대해 잘 알고 있어야 합니다.
그렇기에 URL의 문법에 대해서 알아보도록 하겠습니다.
5. URL 문법
http://www.samplewebsite.com:8080/resources/article.html?query=search&sort=ascending#section2>
1) 스키마 (Schema) or 프로토콜 (Protocol)
http://
브라우저가 사용해야 하는 프로토콜을 나타냅니다.
http , https , maileto , ssh , ftp 등 다양한 종류가 있습니다.
2) 호스트 (Host) or 도메인 이름 (Domain name)
www.samplewebsite.com
리소스가 호스팅 되고 있는 서버의 도메인 이름입니다. IP 주소로 대체 가능합니다.
3) 포트 ( Port )
:8080
서버 상에서 리소스에 접근하기 위한 기술적인 게이트 번호입니다. http 프로토콜의 표준 포트( HTTP - 80 , HTTPS - 443)의 경우엔 포트 생략이 가능합니다.
4) 경로 ( Path )
/resources/article.html
서버 내에서 특정 리소스의 위치를 나타냅니다.
5) 쿼리 ( Query )
?query=search&sort=ascending
리소스에 대한 추가 정보를 나타냅니다. 검색 , 정렬 등의 정보를 파라미터로 전달합니다.
6) 프래그먼트 ( Fragment )
#section2
리소스 내에서 특정 부분을 직접 가르킵니다. 문서내의 section2라는 앵커 부분을 가리킵니다. 주로 문서 내의 특정 위치로 바로 이동할 때 사용됩니다.