통합자원식별자(URI: Uniform Resource Identifier )
。네트워크상자원(웹페이지,이미지,동영상)을 고유하게식별하기위한문자열 주소
ex )jdbc://[user[:password]@]localhost:3306/hello?charset=URF-8#example
▶URI에계정,권한등을 부여하여JDBC를 통해 연결할 수 있다.
。URI는kebab-case에 따라 작성
。URL,URNURI
URL( Uniform Resource Locator )
。네트워크상자원의위치 정보를 기반으로식별하는URI
▶위치 기반 식별로서자원을 식별하며 일반적으로웹주소를 의미
。프로토콜( =http, https, ftp) 포함
。scheme,hostname,url-path를 포함
▶http://www.naver.com/login
。REST API: 효과적으로서버내자원에 접근하기위한URL 작성 방법론
URN( Uniform Resource Name )
。URL의표준 포멧중 하나로서자원의이름을 기반으로식별하는URI
▶네트워크상에서자원을 영구적이고 유일하게 식별할 수 있는URIurn:isbn:9780132350884 (책 ISBN) urn:uuid:123e4567-e89b-12d3-a456-426614174000
URL의 구조
。프로토콜://host:port/path?querystring
protocol( =scheme)
。통신을 수행할프로토콜을 설정
▶웹에서는 보통http/https를 사용
host nameDNS - hostname
。인터넷 상에서Host를 식별하는데 사용하는식별자중 하나
▶ 일반적으로domain name/IP Address를 사용
ex )www.facebook.comor192.168.0.1
localhost
。127.0.0.1의hostname
▶127.0.0.1:8080/=localhost:8080/
port포트
。네트워크상에서 단일호스트내 여러서비스들을 구별하기위해 붙이는16비트 숫자(0 ~ 65535)
URL상포트번호를 생략해도 되는 경우
。웹 브라우저는 보통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를 사용 시 관례적으로URL는/api/자원명으로 시작하도록 설정
。백엔드기준의도메인( =비즈니스모델명)을서버 API URL의path명칭으로 지정
▶비즈니스모델명:user,notice,product,stock, ...
ex )서버 어플리케이션내자원접근 시localhost:8080/api/users으로 자원에 접근하도록API를 구성
▶user등의도메인의 경우복수형(users)로 설정
query string:?키=값
。특정 조건의자원을 가져오기위한질의를 수행
▶Spring에서는@RequestParam을 통해 해당 값을 수신
。여러 조건의질의를 수행하는 경우&(AND)를 사용
▶ ex)?gender=male1&age=28&...
。GET은HTTP Message Body를 사용하지 못하므로,input을query string으로 전달
▶URL는 최대255 byte작성가능
▶ 방대한 양의input을 전송 시 또는 민감정보를 전송 시POST를 통해HTTP Message Body를 이용하여 전송
。%는한글 문자열 구분
fragment:#프래그먼트명
。#뒤에 붙는 값으로서,서버로 전달되지 않고브라우저에서만 사용되는 값
▶페이지 내부 위치 이동용도로 사용
ex )https://example.com/page#section1