개발/Network
[HTTP] 실무에 필요한 네트워크 기초 (2)
poongho
2023. 2. 2. 17:48
반응형
2. URI와 웹 브라우저 요청 흐름
2.1. URL (Uniform Resource Identifier)
'URI? URL? URN?'
- URI와 URL이 혼동되기 쉽다. 결론부터 말하자면 URI는 URL와 URN의 상위 개념이다.
[ URI 단어 뜻 ]
- Uniform: 리소스 식별하는 통일된 방식
- Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음)
- Identifier: 다른 항목과 구분하는데 필요한 정보
[ URL, URN ]
- URL - Locator: 리소스가 있는 위치를 지정
- URN - Name: 리소스에 이름을 부여
- 위치는 변할 수 있지만, 이름은 변하지 않는다.
- 통상적으로 URI와 URL을 같은 의미로 사용하기도 한다.
[ URL 문법 ]
https://www.google.com:443/search?q=hello&hl=ko
헬로
아델의 노래
www.google.com
- 프로토콜 (https)
- 호스트명 (www.google.com)
- 포트 번호 (443, 생략가능)
- 패스 (/search)
- 쿼리 파라미터 (q=hello&hl=ko)
2.2. 웹 브라우저 요청 흐름
'브라우저에 검색창에 'www.google.com'을 입력하면 일어나는일'
- 'www.google.com'에 대한 DNS 서버를 조회
- IP와 PORT 정보를 얻는다
- 캐싱된 DNS 기록을 체크
- 웹 브라우저가 HTTP 요청 메시지를 생성
- SOKET 라이브러리를 통해 OS 단으로 HTTP 메시지를 전달한다.
- TCP/IP 연결 (구글 서버와 연결 상태 확인)
- 데이터 전달 (OS 단으로)
- TCP/IP 패킷 생성, HTTP 메시지 포함
- 웹 브라우저에서 요청 패킷을 구글 서버에 전달 / 도착
- 구글 서버에서 HTTP 요청 메시지에 대한 HTTP 응답 메시지 생성
- 구글 서버에서 응답 패킷을 웹 브라우저에 전달 / 도착
- 받은 응답 패킷을 기준으로 웹 브라우저에 HTML 렌더링
References
https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC