-
URI, URLCS 지식/네트워크 2020. 8. 23. 20:52반응형
URI & URL
URI (Uniform Resource Identifier)
- 웹 서버가 리소스를 고유하게 식별할 수 있게 하는 것
- URL과 URN 두가지가 있는데, 일반적으로 URL을 이용한다.
- URL
- 특정 서버의 한 리소스에 대해 구체적 위치를 서술
- URN
- 리소스가 어디에 위치해 있든 찾을 수 있는 방식
- URL
URL (Uniform Resource Locator)
- <스킴>://<사용자 이름>:<비밀번호>@<호스트>:<포트>/<경로>?질의#<프레그먼트>
- 스킴(scheme)
- 사용할 프로토콜을 말하며, 리소스에 어떻게 요청, 접근한 것인지 명시
- 웹에서 주로 HTTP 프로토콜을 사용
- 그 밖에 ftp, mailto(이메일),rtsp(스트리밍)과 같은 프로토콜을 사용할 수도 있음
- 사용자 이름과 비밀번호
- 어떤 서버는 자신이 가지고 있는 데이터에 접근하기 위해 사용자 이름과 비밀번호를 요구
- ex)
ftp://zin0:123@host/asd.xls
- ex)
- 만약 클라이언트가 이를 명시하지 않고 URL에 접근 ~> default로 "사용자 이름:anonumous, 비밀번호 : 브라우저 default 비밀번호 값"으로 전송
- 어떤 서버는 자신이 가지고 있는 데이터에 접근하기 위해 사용자 이름과 비밀번호를 요구
- 호스트와 포트
- 하나의 호스트(컴퓨터)에는 여러 Process(프로그램)이 각각의 Socket을 사용해서 데이터 통신 ~> 따라서 소켓을 구분할 필요가 있음
- 소켓을 구분하는 역할 => Port(포트)
- 포트에 따라 소켓이 연결되고, 번호에 따라 다른 프로토콜이 사용될 수 있음
- HTTP 프로토콜에서 포트 번호를 명시하지 않으면, 80을 기본 값으로 사용
- 경로
- 호스트에서 제공하는 자원 경로
- 질의
- Query String(쿼리 스트링)이라고도 함
- 클라이언트가 자원을 Get 방식으로 요청 ~> 필요한 데이터를 함께 넘겨줄 목적으로 사용
- ex)
http://localhost:3000/index?id=3&page=1
- ex)
- 프래그먼트
- HTML에는 각각의 요소에 id 속성을 부여할 수 있음
- URL에 프래그먼트를 전달하면 페이지가 해당 id가 있는 곳으로 스크롤이 이동
- ex)
http://www.localhost:3000/234#bottom
- ex)
URL Encoding
- URL 문자열을 모든 브라우저에서 똑바로 (손실없이) 전송하기 위함
- URL에는 예약어와 비예약어가 있는데, 예약어는 URL에서 중요하게 쓰이는 문자들 (:, !, /와 같은 문자)이고, 비예약 문자는 a-z, A-Z, 0-9, ., ~, -, _ 문자들이다.
- 비예약어는 인코딩을 할 필요가 없고, 예약어는 인코딩이 필요하다.
- encoding된 문자는 %(숫자)로 표현된다.
반응형'CS 지식 > 네트워크' 카테고리의 다른 글
TCP / UDP, 소켓 (0) 2020.08.23 DNS (Domain Name Server) (0) 2020.08.23 서브넷(서브 네트워크), IPv4, IPv6 (0) 2020.08.23