728x90
URI (Uniform Resource Identifier)
- Uniform: 리소스 식별하는 통일된 방식
- Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음)
- Identifier: 다른 항목과 구분하는데 필요한 정보
URL (Uniform Resource Locator), URN (Uniform Resource Name)
- URL - Locator: 리소스가 있는 위치를 지정
- URN - Name: 리소스에 이름을 부여
- 위치는 변할 수 있지만, 이름은 변하지 않는다.
- urn: isbn:8960777331 (어떤 책의 isbn URN)
- URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화되지 않음
URL 전체 문법
https://www.google.com:443/search?q=hello&hl=ko
scheme://[userinfo@]host[:port][/path][?query][#fragment]
- 프로토콜(https)
- 호스트명(www.google.com)
- 포트번호(443)
- 패스(/search)
- 쿼리 파라미터(q=hello&hl=ko)
Scheme
- 주로 프로토콜 사용
- 프로토콜: 어떤 방식으로 자원에 접근할 것인가 하는 클라이언트-서버간의 약속 규칙
- ex) http, https, ftp 등
- http - 80포트, https - 443포트를 주로 사용, 포트는 생략 가능
- https는 http에 강력한 보안 추가 (HTTP Secure)
UserInfo
- URL에 사용자정보를 포함해서 인증
- 거의 사용하지 X
HOST
- 호스트명
- 도메인명 또는 IP 주소를 직접 사용 가능
PORT
- 포트(PORT)
- 접속 포트
- 일반적으로 생략, 생략시 http는 80, https는 443
PATH
- 리소스 경로(path), 계층적 구조
- ex) /home/file1.jpg , /members , /members/100 , /items/iphone12
QUERY
- key = value 형태
- ?로 시작, &로 추가 가능 ?keyA =value&keyB=valueB
- query parameter, query string 으로 불림
- 웹 서버에 제공하는 파라미터. 문자형태 (숫자를 넣어 보내도 문자로 변환되어 전송된다)
FRAGMENT
- html 내부 북마크 등에 사용
- 서버에 전송하는 정보는 아님
이와 같은 URL을 웹 브라우저에 입력하면,
입력된 URL 정보로부터 IP와 PORT 정보를 얻고 웹 브라우저가 HTTP 요청 메시지를 생성한다.
- 웹 브라우저 HTTP 요청 메시지를 생성
- SOCKET 라이브러리를 통해 TCP/IP 연결 및 TCP/IP 계층으로 데이터를 전달
- HTTP 메시지가 포함된 TCP/IP 패킷 생성
- 패킷이 수많은 노드를 지나 서버에 전달된다.
이렇게 요청한 패킷이 도착하면 서버는 도착한 패킷을 해석하고 HTTP 응답 데이터를 생성한다.
서버가 응답 패킷을 만들어 클라이언트에 전달한다.
728x90
'Backend > HTTP 웹 기본 지식' 카테고리의 다른 글
[네트워크] 4. HTTP 메서드 (2) | 2025.04.15 |
---|---|
[네트워크] 3. HTTP기본 - 비연결성 / HTTP 메시지 (0) | 2025.04.15 |
[네트워크] 3. HTTP 기본 - HTTP / Stateful / Stateless (1) | 2025.04.08 |
[네트워크] 1. 인터넷 네트워크 - PORT / DNS (0) | 2025.04.07 |
[네트워크] 1. 인터넷 네트워크 - IP (인터넷 프로토콜) / TCP / UDP (0) | 2025.04.07 |