Zin0_0 2020. 8. 23. 20:52
반응형

URI & URL

  • URI (Uniform Resource Identifier)

    • 웹 서버가 리소스를 고유하게 식별할 수 있게 하는 것
    • URL과 URN 두가지가 있는데, 일반적으로 URL을 이용한다.
      • URL
        • 특정 서버의 한 리소스에 대해 구체적 위치를 서술
      • URN
        • 리소스가 어디에 위치해 있든 찾을 수 있는 방식
  • URL (Uniform Resource Locator)

    • <스킴>://<사용자 이름>:<비밀번호>@<호스트>:<포트>/<경로>?질의#<프레그먼트>
    • 스킴(scheme)
      • 사용할 프로토콜을 말하며, 리소스에 어떻게 요청, 접근한 것인지 명시
      • 웹에서 주로 HTTP 프로토콜을 사용
        • 그 밖에 ftp, mailto(이메일),rtsp(스트리밍)과 같은 프로토콜을 사용할 수도 있음
    • 사용자 이름과 비밀번호
      • 어떤 서버는 자신이 가지고 있는 데이터에 접근하기 위해 사용자 이름과 비밀번호를 요구
        • ex)ftp://zin0:123@host/asd.xls
      • 만약 클라이언트가 이를 명시하지 않고 URL에 접근 ~> default로 "사용자 이름:anonumous, 비밀번호 : 브라우저 default 비밀번호 값"으로 전송
    • 호스트와 포트
      • 하나의 호스트(컴퓨터)에는 여러 Process(프로그램)이 각각의 Socket을 사용해서 데이터 통신 ~> 따라서 소켓을 구분할 필요가 있음
      • 소켓을 구분하는 역할 => Port(포트)
        • 포트에 따라 소켓이 연결되고, 번호에 따라 다른 프로토콜이 사용될 수 있음
      • HTTP 프로토콜에서 포트 번호를 명시하지 않으면, 80을 기본 값으로 사용
    • 경로
      • 호스트에서 제공하는 자원 경로
    • 질의
      • Query String(쿼리 스트링)이라고도 함
      • 클라이언트가 자원을 Get 방식으로 요청 ~> 필요한 데이터를 함께 넘겨줄 목적으로 사용
        • ex) http://localhost:3000/index?id=3&page=1
    • 프래그먼트
      • HTML에는 각각의 요소에 id 속성을 부여할 수 있음
      • URL에 프래그먼트를 전달하면 페이지가 해당 id가 있는 곳으로 스크롤이 이동
        • ex) http://www.localhost:3000/234#bottom
  • URL Encoding

    • URL 문자열을 모든 브라우저에서 똑바로 (손실없이) 전송하기 위함
    • URL에는 예약어와 비예약어가 있는데, 예약어는 URL에서 중요하게 쓰이는 문자들 (:, !, /와 같은 문자)이고, 비예약 문자는 a-z, A-Z, 0-9, ., ~, -, _ 문자들이다.
    • 비예약어는 인코딩을 할 필요가 없고, 예약어는 인코딩이 필요하다.
      • encoding된 문자는 %(숫자)로 표현된다.
      • image
반응형