URI란?
URI란 통합 자원 식별자(Uniform Resource Identifier)는 인터넷에 있는 자원을 어디에 있는지 자원 자체를 식별하는 방법입니다. URI의 하위개념으로는 URL, URN이 있습니다.
URL은 Locator를 의미하며 리소스가 있는 위치를 지정합니다. 반면에 URN은 Name을 의미하며 리소스에 이름을 부여하비다. 위치는 변할 수 있지만, 이름은 변하지 않습니다. 따라서 URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화되지 않았습니다.
☁️ URL은?
URL은 네트워크 상에서 자원이 어디 있는지 위치를 알려주기 위한 규약입니다.
즉, 컴퓨터 네트워크와 검색 메커니즘에서의 위치를 지정하는, 웹 리소스에 대한 참조라고 할 수 있습니다.
흔히 우리는 URL을 웹 사이트 주소로만 알고 있지만, URL은 웹 사이트 주소뿐만 아니라 컴퓨터 네트워크상의 자원을 모두 나타내는 표기법이며 해당 주소에 접속하려면 URL에 맞는 프로토콜(http, sftp, smp ..등)을 알아야 하고, 그와 동일한 프로토콜로 접속해야 합니다
URL의 문법
• scheme://[userinfo@]host[:port][/path][?query][#fragment]
• https://www.google.com:443/search?q=hello&hl=ko
- 프로토콜 (http)
- 의미: 어떤 방식으로 자원에 접근할 것인가 하는 약속 규칙 (ex. http, https 등)
- http는 80포트, https는 443포트를 주로 사용
- 호스트명(www.google.com)
- 호스트명을 의미
- 도메인명 또는 IP 주소를 직접 사용 가능
- 포트 번호(443)
- 접속한 포트를 의미
- 일반적으로 생략함
- path(/search)
- 리소스 경로를 의미하며 계층적 구조로 이루어짐
- ex. /home/file1.jpg
- 쿼리 파라미터(q=hello&hl=ko)
- key=value 형태
- ?로 시작, &로 추가 가능 ?keyA=valueA&keyB=valueB
- query parameter, query string 등으로 불림, 웹서버에 제공하는 파라미터, 문자 형태
웹 브라우저 요청 흐름
- URL 입력:
사용자가 브라우저에 URL을 입력합니다. - DNS 조회:
- 브라우저는 도메인 이름(www.google.com)을 DNS 서버에 질의합니다.
- DNS 서버는 해당 도메인의 **IP 주소(200.200.200.2)**를 반환합니다.
- HTTPS 포트 생성:
- 브라우저는 IP 주소와 함께 **443번 포트(HTTPS용)**를 사용하여 구글 서버와 연결을 시도합니다.
- HTTP 요청 메시지 생성:
- 브라우저는 사용자의 요청(/search?q=hello&hl=ko)을 HTTP 요청 메시지로 생성하여 서버에 전송합니다.
- 이 과정에서 HTTPS를 사용하면 데이터가 암호화되어 전송됩니다.
- 서버 응답:
- 서버(200.200.200.2)는 요청을 처리한 후 결과를 브라우저로 반환합니다.
- 결과 표시:
- 브라우저는 서버에서 받은 응답 데이터를 사용자에게 표시합니다(예: 구글 검색 결과 페이지).
'CS > WEB' 카테고리의 다른 글
[CI/CD] Github Action으로 CI/CD 구축하기 (1) | 2024.11.17 |
---|---|
[CI/CD] 01. CI/CD란 무엇인가 (4) | 2024.11.15 |
[API] 01. Restful API란? (0) | 2024.11.14 |