Spring boot

[HTTP] URI와 웹브라우저 요청 흐름

URI

 

URI (Uniform Resource Identifier)는 네트워크 상의 자원을 나타내는 고유 식별자이다.

 

https://programming119.tistory.com/194

 

URL (Uniform Resource Locator)은 자원의 위치를 나타내고

URN (Uniform Resource Name)은 자원의 이름을 나타낸다.

 

URL과 URN은 URI에 포함된다.

 

일반적으로 URN만으로는 실제 리소스를 찾을 수 없기 때문에 잘 사용되지 않고

URI, URL을 비슷한 개념으로 사용된다.

 

 

URL 문법

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

 

scheme: 프로토콜 - 어떤 방식으로 자원에 접근할지를 알리는 약속

host: 호스트명(www.google.com 등). 도메인명 또는 IP주소 직접 사용 가능

port: 포트번호 - http는 80, https는 443. 생략가능

path: 패스 - 리소스 경로

query: 쿼리 파라미터 - key=value 형태. 쿼리스트링 쿼리파라미터 등으로 불림

userInfo: 사용자 정보를 포함해서 인증 - 터미널에서 깃헙 접근할 때 등 사용. 거의 사용되지 않음

 

 


웹 브라우저 요청 흐름

 

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

을 예시로 살펴보자.

 

웹브라우저에서 위 주소를 검색하면

DNS에서 호스트명을 조회해 얻은 ip주소로 http 요청 메세지를 작성해 전송한다.

(https 프로토콜은 http에 보안 기능이 추가된 프로토콜이다.)

 

 

요청 메세지 예시

 

 

웹 브라우저가 생성한 http메세지는 소켓을 통해 transport 레이어에서 tcp/ip 패킷이 된다.

http 메세지에 tcp/ip에 필요한 정보를 헤더로서 붙인 형태이다.

 

TCP/IP 패킷에는 출발지와 목적지의 IP와 PORT넘버, 그리고 전송될 http 메세지 데이터가 포함된다.

 

 

서버는 해당 메세지를 받고 아래와 같은 response를 보낸다.

 

브라우저는 response에 포함된 html데이터를 랜더링한다.

 

 

 

+) 예시 이외의 http 메소드와 응답 코드 종류에 대한 글이다.

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=2000sky2&logNo=220619302087 

 

HTTP Method(Get과 Post방식)

+HTTP Method(GET&POST)+ 정의 : HTTP 프로토콜은 TCP와 UDP 프로토콜을 기반으...

blog.naver.com

'Spring boot' 카테고리의 다른 글

[HTTP] HTTP 메서드  (0) 2021.10.13
[HTTP] http 기본  (0) 2021.10.06
[HTTP] 인터넷 네트워크  (2) 2021.09.22
[기본] 빈 스코프  (0) 2021.08.24
[기본] 빈 생명주기 콜백  (0) 2021.08.24