일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- CORS
- tailwind
- RTK Query
- Jest
- async/await
- recoil
- 투포인터
- map
- 인터섹션
- app router
- ESlint
- useAppDispatch
- autosize
- SSR
- 태그된 유니온
- TS
- 공변성
- Cypress
- 이분 검색
- 반공변성
- CI/CD
- dfs
- 결정 알고리즘
- 호이스팅
- 타입 좁히기
- 리터럴 타입
- webpack
- Promise
- React
- 무한 스크롤
- Today
- Total
짧은코딩
URI 본문
URI(Uniform Resource Identifier)
URI는 URL과 URN을 포함하는 큰 개념이며 리소스(자원)을 식별한다. 예를 들면 사람의 주민등록번호 처럼 식별하는 것이다.
URL과 URN
URL: 리소스의 위치, 사람으로치면 현재 있는 위치, URN: 리소스의 이름, 사람으로치면 그 사람의 이름
URN으로는 거의 찾을 수 없어서 사실상 URL만 사용한다고 보면된다. 즉, URI를 URL과 같은 의미로 봐도 된다.
URL 문법
URL은 "scheme://[userinfo@]host[:port][/path][?query][#fragment]" 이런 구조를 가지고 있다. 예시로 "https://www.google.com:443/search?q=hello&hl=ko" 이렇게 사용한다.
sheme
"https://www.google.com:443/search?q=hello&hl=ko"에서 https를 의미한다.
sheme에서는 주로 프로토콜을 사용한다. http(80 포트), https(443 포트), ftp 등이 있고 포트는 생략이 가능하다.
userinfo
URL에 사용자 정보를 포함하여 인증하는 것이다. 거의 사용하지 않는다.
host
"https://www.google.com:443/search?q=hello&hl=ko"에서 www.google.com를 의미한다.
도메인명 혹은 IP 주소를 직접 사용할 수 있다.
port
"https://www.google.com:443/search?q=hello&hl=ko"에서 443를 의미한다.
특정 서버에 따로 접근할 때 입력하고 일반적인 웹 브라우저에서는 생략을 많이 한다.
path
"https://www.google.com:443/search?q=hello&hl=ko"에서 search를 의미한다.
리소스의 경로를 의미하고 계층적 구조이다.
-예시
/home/file1.jpg: 이런 디텍토리 구조로 이루어질 수 있다.
/members: 회원들의 정보를 보여주는 사이트일 수 있다.
/members/100, /items/iphone12: members, items가 정보가 있는 디렉토리라 하면 안에 100번 id를 가진 회원이 존재한다.
query
"https://www.google.com:443/search?q=hello&hl=ko"에서 ?q=hello&hl=ko를 의미한다.
"key=value"의 형태이며 "?"로 시작하고 "&"로 추가한다. query parameter, query string 등으로 불리며, 웹 서버에 제공하는 파라미터이다.
fragment
fragment도 잘 사용하지 않는다. "https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started-introducing-spring-boot"에서 #getting-started-introducing-spring-boot를 의미한다.
html 내부 북마크 등에서 사용되고 서버에 전송하는 정보는 아니다.
'인프런, 유데미 > 모든 개발자를 위한 HTTP 웹 기본 지식' 카테고리의 다른 글
HTTP 상태 코드 (0) | 2023.03.20 |
---|---|
HTTP API (1) | 2023.03.14 |
HTTP 구조와 Stateless (0) | 2023.03.06 |
웹 브라우저 요청 흐름 (0) | 2023.02.05 |
IP, TCP와 UDP,PORT, DNS (0) | 2023.02.04 |