관리 메뉴

개발하는 동그리

[네트워크] URL / URI 본문

IT 정보/Spring

[네트워크] URL / URI

개발하는 동그리 2022. 6. 5. 16:34
반응형

 

김영한의 스프링 강의

 

URL (Resource Locator)

  • 리소스의 위치 지정

URN (Resource Name)

  • 리소스에 이름 부여 ( 책의 ISBN 같은 것 )

URI (Resource Identifier) : 

  • Uniform : 리소스 식별하는 통일된 방식
  • Resource : 자원, URI로 식별할 수 있는 모든 것(제한 없음)
  • Identifier : 다른 항목과 구분하는데 필요한 정보

 

• scheme://[userinfo@]host[:port][/path][?query][#fragment]
• https://www.google.com:443/search?q=hello&hl=ko

scheme : 주로 프로토콜을 사용 ( 프로토콜이란 어떤 방식으로 resource에 접근할 것인지 규칙 )
userinfo : 거의 사용하지 않음 (사용자 정보를 포함해서 인증)
host : 도메인명 or IP주소
port : 접속 포트 일반적으로 생략한다. (http = 80, https = 443)
path : 리소스 경로로 계층적 구조로 되어 있다. (/home/file/file2 .. )
query : key=value 형태로 데이터가 입력된다. 시작은 (?), 연결은 (&) , query parameter 혹은 query string으로 불린다.
            왜나하면 항상 문자로 넘어가기 때문이다
fragment : 잘 사용 안함 (html내부 북마크에 사용)

 

웹 브라우저의 요청 흐름

  1. 웹 브라우저가 HTTP 요청 메세지 생성 ( GET /search? q=hello ... )
  2. Socket 라이브러리를 통해 TCP/IP : TCP 3 - way handshake 가상연결 ( 출발 PORT, 도착 PORT )
  3. TCP/IP 에서 패킷 생성 ( 출발 IP, 도착 IP )
  4. 인터넷 망으로 전송 -> 수많은 노드를 거치고 -> 최종 목적지는 origin 서버
  5. 서버에서 TCP/IP 패킷을 다 버리고 HTTP 메세지 해석 
반응형

'IT 정보 > Spring' 카테고리의 다른 글

[네트워크] Stateful & Stateless  (18) 2022.06.05
[네트워크] TCP/IP & UDP  (2) 2022.06.05
[네트워크] 프로토콜과 API  (7) 2022.06.05
IoC(Inversion of Control) / DI (Dependency injection)  (26) 2022.06.04
스프링 이야기  (35) 2022.06.02