본문 바로가기
백엔드 공부/HTTP 기본 지식

URI와 웹 브라우저 요청 흐름 : HTTP 기본 지식

by CSEGR 2024. 2. 28.
728x90

(인프런) 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 공부하고 리뷰한 글입니다.

URI ( = Uniform Resource Identifier)

 

Uniform : 리소스를 식별하는 통일된 방식 

Resource : 자원, URI 로 식별할 수 있는 모든 것 ( 제한 없음 )

Identifier : 다른 항목과 구별하는데 필요한 정보 

 

 

URI(= Resoure Identifier) : Resource를 식별한다.  - 자원이 어디에 있는지 자원 자체를 식별하는 방법 

URL( = Resource Locator) : 리소스의 위치를 알려줌.  

URN( = Resource Name) : 리소스에 이름을 부여함. 

 

URL 분석 

ex) https:/www. google.com/search?q=hello&hl=ko 

  = scheme:[userinfo@]host[:port][/path][?query][#fragment]

 

 

scheme
- 주로 프로토콜 사용 
- 프로토콜 : 어떤 방식으로 자원에 접근할 것인가 하는 약속 규칙 ex) http, https, ftp 등등
- http는 80포트, https는 443 주로 사용 (+ 포트는 생략 가능)
- https는 http 에 보안 추가 (HTTP Secure)
path 
- 리소스 경로(path), 계층적 구조 
- ex) /home/file1.png , /members  
query 
- key=value gudxo 
- ?로 시작, &로 추가 가능 ?keyA=valueA&keyB = valueB
- query parameter, query string 등으로 불림, 웹서버에 제공하는 파라미터. 문자 형태  

 

웹 브라우저 요청 흐름 

 

https:/www. google.com/search?q=hello&hl=ko 

1. DNS 조회 - IP:  200.200.200.2 정보를 알아냄. 

2. HTTP 요청 메시지를 생성함. 

    GET /search?q=hello&hl=ko HTTP/1.1 Host: www.google.com (path 부터 query정보, http 버전 정보, host 정보)

3. 패킷에 이 HTTP 요청 메시지를 포함시킴.  

 

 

4. 웹 브라우저에서 수 많은 노드들을 거쳐서 웹 서버에 도착을 하면 

TCP/IP 패킷을 벗기고 HTTP 메시지를 기반으로 요청을 분석한다. 

5. 웹서버에서 HTTP 응답 메세지를 생성하고 웹 브라우저로 보냄. 

6. 웹 서버로 부터 온 HTTP 응답 메시지를 기반으로 웹 브라우저에서 HTML을 렌더링함. 

 

728x90