티스토리 뷰

네트워크/HTTP

2. URL과 리소스

Teus 2022. 5. 8. 22:10
728x90
반응형

2022 우아한스터디 "HTTP 완벽가이드"를 진행하면서

'HTTP 완벽 가이드' 책을 읽고, 글쓴이의 생각을 정리하는 글 입니다.

https://book.naver.com/bookdb/book_detail.nhn?bid=8509980 

 

HTTP 완벽 가이드

성공적인 웹 트랜잭션 뒤의 숨은 핵심, HTTP의 모든 것『HTTP 완벽 가이드』는 HTTP 규약이 어떻게 작동하고 웹 기반 애플리케이션을 개발하는 데 어떻게 사용하는지 설명하고, HTTP가 효율적으로 동

book.naver.com

 

1. URL

URL은 Uniform Resource Locator의 약자입니다. 이름에서 알 수 있듯, Location을 알수 있게 해주는 역할을 합니다.

ex. https://quasarzone.com/bbs/qc_bench?_method=post&type=&page=1&_token=R3MGJNdQ64NxuYLKGQbBgq9ubSilTPDP6lioS2Bz&category=&kind=subject%7C%7Ccontent&keyword=AMD&sort=num%2C+reply 

예시입니다만, 위처럼 특정 사이트의 특정 페이지 역시 Resource가 되고, 이 Resource의 Location을 나타내는것이 URL인것이죠.

 

URL은 아래와 같이 구성된는것이 일반적인 약속입니다.

<스킴>://<사용자 이름>:<비밀번호>@<호스트>:<포트>/경로;<파라미터>?<질의>#<프래그먼트>

 

위 예시를보면

스킴 : https

사용자 이름, 비밀번호 : 생략

호스트 : quasarzone.com

포트 : 생략(포트의 경우 생략하면 80이 됩니다)

경로 : ./bbs/qc_bench

파라미터 : method, type, page, token, keword, sort

프래그먼트 : 없음(생략이라고도 할 수 있을거 같습니다)

로 정리가 되는것을 확인할 수 있습니다.

 

이러한 URL의 규칙으로 인해서 사용자 -> 서버에 요청할 때, 서버<->서버 간 요청 등에서 명확하게 요청하는 Resource의 주소를 전달할 수 있게 되는 것이죠.

 

주의!

하지만, 위 규칙을 만족한다고 어떠한 문자던 사용 가능한 것은 아닙니다. URL 역시 server, clinet에서 파싱을 해야할 탠데, 이때URL의 예약어 및 혼동의 여부가 존재하는 일부 문자들이 존재합니다. (참고 : https://bluebreeze.co.kr/988)

 

이 경우에는 두개의 16진수(16*16 = 256 = 8bit) 형태의 ASCII코드로 변환해서 입력해 주면 안전하게 전송하는 것이 가능합니다(Ex. % -> 37(0x25))

 

2. URN

하지만 URL이 만능이 아니다. URL은 경국 해당 Resource의 주소를 표기해주는 방법이다. 즉, 해당 Resource가 그 주소에 없다면, 이후에는 해당 Resource를 찾을 방법이 없어진다는 뜻이다.

 

그래서 해당 문제점을 개선하고자 URN(Uniform Resource Names)라는 방법으로 객체 자체를 Tracking하는 방법이라고 하는데, 쓰는 경우를 본적이 없어서...

 

 

728x90
반응형

'네트워크 > HTTP' 카테고리의 다른 글

6. 멍청한 Proxy  (0) 2022.05.22
5. 커넥션 관리(2편)  (0) 2022.05.22
4. 커넥션 관리(1편)  (0) 2022.05.15
3. HTTP 메세지  (0) 2022.05.08
1. HTTP란 무엇인가?  (0) 2022.05.08
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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
글 보관함