# 2. URL 과 리소스

> URL은 인터넷의 리소스를 가리키는 표준 이름.
>
> 전자 정보 일부를 가리키고 그것이 어디있고 어떻게 접근 할 수 있는지 알려 준다.

## 1) 인터넷 리소스 탐색

* url
  * 일반적인 구조: 스킴://서버위치/경로&#x20;
    * 스킴(어떻게): mailto(이메일), ftp(file), rtsp(비디오)
    * 서버위치(어디에): 호스팅&#x20;
    * 경로(무엇을)
  * 인터넷상의 모든 리소스를 가리키고 가져오기위해 모든 사람이 같은 방식으로 이름을 써서 리소스를 찾을 수 있도록.
  * application이 리소스에 접근할 수 있는 방법 제공

## 2) URL 문법

* url 스킴에 따라 문법이 다르지만, 대부분 일반적인 url 문법을 따른다.

  ```
  <스킴>://사용자이름:<비밀번호>@<호스트>:<포트>/<경로>;<파라미터>?<질의>#<플래그먼트>
  ```

  * 스킴: 리소스 가져올 때 어떤 프로토콜 사용하여 서버에 접근할지
  * 사용자이름: 몇몇 스킴은 리소스 접근을 위해 사용자 이름을 필요로 한다. (기본값: anonymous)
  * 비밀번호: 사용자의 비밀번호를 가리키고 사용자 이름에 콜론(`:`)으로 이어 기술 (기본값: 브라우저별 기본값)
  * 호스트: 리소스를 호스팅하는 서버명 또는 IP주소
  * 포트: 리소스를 호스팅하는 서버가 열어놓은 포트 번호. (기본값: 스킴별로 다름. http:80)
  * 경로: 이전 컴포넌트와 빗금(`/`) 으로 구분. 서버 내 리소스가 어디에 있는지 가르키며, 문법은 서버와 스킴따라 상이.
  * 파라미터: 특정 스킴들에서 입력 파라미터 기술 하는 용도. 이름/값 쌍을 가짐. 세미콜론 (`;`)으로 다른 파라미터, 경로 구분할 수 있고 여러개 가질 수 있다. (리소스에 접근하는데 필요한 어떤 추가 정보든 전달.)
  * 질의: 스킴에서 어플리케이션에 파라미터를 전달하는데 쓰인다. (`?`)우측에 붙여 전달 (`&`) 로 나누고 `이름=값` 형태
  * 플래그먼트: 리소스의 조각이나 일부분.  리소스의 특정 부분을 가리킬 수 있도록 하며, 클라이언트에서 서버로 전달 X.

\[참조링크]

* <https://m.blog.naver.com/PostView.nhn?blogId=beusable&logNo=220864664334&proxyReferer=https:%2F%2Fwww.google.com%2F>
* <https://feel5ny.github.io/2019/08/09/HTTP_002/#1-5>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://minhee0327.gitbook.io/mini-til/network/http/2.-url.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
