URI

이정수·2025년 10월 26일

CS/웹 관련 공부

목록 보기
5/5

통합자원식별자( URI : Uniform Resource Identifier )
네트워크자원 ( 웹페이지, 이미지, 동영상 )을 고유하게 식별하기위한 문자열

URIkebab-case에 따라 작성

URI의 하위개념 : URL, URN

  • URL( Uniform Resource Locator )
    네트워크자원이 위치한 정보를 지시

    scheme, hostname, url-path까지만 포함
    http://www.naver.com/login

    FTP, SMTP 등 다른 프로토콜의 사용이 가능

    REST API : 효과적으로 서버자원에 접근하기위한 URL 작성 방법론

  • URN( Uniform Resource Name )
    URL표준 포멧 중 하나로서 자원을 특정하는 URI
    네트워크 상에서 자원을 영구적이고 유일하게 식별할 수 있는 URI

URI의 구조

프로토콜://host:port/path?querystring

  • protocol( = scheme )
    。통신을 수행할 프로토콜을 설정
    에서는 보통 http / https를 사용

  • host name DNS - hostname
    。인터넷 상에서 Host를 식별하는데 사용하는 식별자 중 하나
    ▶ 일반적으로 domain name / IP Address를 사용
    ex ) www.facebook.com or 192.168.0.1

    localhost
    127.0.0.1hostname
    127.0.0.1:8080/ = localhost:8080/



  • port 포트
    네트워크 상에서 단일 호스트 내 여러 서비스들을 구별하기위해 붙이는 16비트 숫자( 0 ~ 65535 )

    URI포트번호를 생략해도 되는 경우
    웹 브라우저는 보통 http 프로토콜에 대해서 80 포트, https 프로토콜에 대해서 443 포트로 전송하도록 기본적으로 설정되어 해당 포트로 접근하는 경우 포트번호를 생략하고 IP주소만 입력하여 접근이 가능.
    https://www.naver.com:443/ = https://www.naver.com/
    http://localhost:80/ = http://localhost/

    。단. IP 주소Host의 다른 서비스포트번호로 접근할 필요가 있는 경우 별도로 명시
    ex ) http://localhost:8080/



  • path : /도메인명
    서버루트 디렉터리( / )부터 시작하여 자원이 위치한 경로 또는 파일명을 지시
    Spring에서는 @PathVariable을 통해 해당 값을 수신

    API 설계 시 주의사항
    API를 사용 시 관례적으로 URI/api/자원명으로 시작하도록 설정

    백엔드 기준의 도메인( = 비즈니스모델명 )을 서버 API URIpath명칭으로 지정
    비즈니스모델명 : user, notice, product, stock, ...
    ex ) 서버 어플리케이션자원 접근 시 localhost:8080/api/users으로 자원에 접근하도록 API를 구성
    user등의 도메인의 경우 복수형( users )로 설정



  • query string : ?키=값
    。특정 조건의 자원을 가져오기위한 질의를 수행
    Spring에서는 @RequestParam을 통해 해당 값을 수신

    。여러 조건의 질의를 수행하는 경우 &( AND )를 사용
    ▶ ex) ?gender=male1&age=28&...

    GETHTTP Message Body를 사용하지 못하므로, inputquery string으로 전달
    URI는 최대 255 byte 작성가능
    ▶ 방대한 양의 input을 전송 시 또는 민감정보를 전송 시 POST를 통해 HTTP Message Body를 이용하여 전송
profile
공부기록 블로그

0개의 댓글