> For the complete documentation index, see [llms.txt](https://minhee0327.gitbook.io/mini-til/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://minhee0327.gitbook.io/mini-til/network/http/2.-url.md).

# 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>
