728x90
URI와 웹브라우저 요청 흐름
1. URI(Uniform Resource Identifier)
URI / URL / URM 3가지 주로 헷갈려한다.
2. URI 와 URL 과 URM 의 비교
- URI (Resource Identifier) : 리소스를 식별한다. locator, name 또는 둘다 추가로 분류가능
- URL (Resource Locator) : 리소스가 있는 위치를 지정, 변할 수 있음
- URN (Resource Name) : 리소스에 이름부여(매핑하기 어려움), 변하지 않음
1-1. URI 단어 뜻
- Uniform : 리소스 식별하는 통일된 방식
- Resource : 자원, URI로 식별할 수 있는 모든 것(제한 없음)
- Identifier : 다른 항목과 구분하는데 필요한 정보
1-2. URI 표기법
ex ) scheme://[userinfo@]host[:port][/path][?query][#fragment]
https://www.google.com:443/search?q=hello&hl=k
- scheme : 프로토콜정보 사용, 어떤 방식으로 자원에 접근할 것인가 하는 약속 규칙
ex) http, https, ftp등
http는 80포트, https는 443 포트 주로 사용, 포트는 생략가능
https: http에 보안추가(HTTP Secure) - userinfo : URL에 사용자정보를 포함해서 인증해야 할때 쓰는데 , 잘 안쓴다.
- host정보 : 호스트명 (도메인명이나 ip주소를 직접 입력)
- port : 접속포트 일반적으로 생략한다(생략시, https : 44, http : 80)
- /search(패스, 경로) : 계층적 구조
/home/file1.jpg
/members
/members/100, /items/iphone12 - ?쿼리파라미터 : ?로 시작, &로 추가가능, key=value형태, query parameter, query string등으로 불린다. 웹서버에 제공하는 파라미터/문자형태
- fragment : html 내부 북마크 등에 사용하고 서버에 전송하는 정보가 아니다.
웹브라우저 요청 흐름
① DNS 조회 - IP 찾음, PORT 정보 찾기
② 웹브라우저가 HTTP 요청 메세지(GET/search?쿼리스트링 HTTP/1.1 Host :www.google.com) 생성
③ SOCKET 라이브러리를 통해 전달
- A : TCP/IP로 연결(IP, PORT)
- B : 데이터 전달
④ TCP/IP 패킷 생성, HTTP메세지 포함해서 요청패킷을 전달~~던져~~
⑤ 요청패킷이 도착하면 서버에서 HTTP 메세지만 딱 까서, 데이터를 해석
⑥ HTTP 응답메세지를 만듬
(ex. HTTP1.1 200 OK
Content-Type : text/html;charset=UTF-8
Content-Length: 2298
<html>
</html>
)
⑦ 웹브라우저 HTML 렌더링
'Computer Science > 네트워크' 카테고리의 다른 글
[네트워크] DNS Round Robin Algorithm (0) | 2022.03.10 |
---|---|
[네트워크] 하드웨어 환경, Server?, 서버 프로그램 구현은 어떻게 설계하는게 좋을까? (0) | 2022.03.04 |
[네트워크]HTTP is Everywhere! and Feature 1탄 (0) | 2022.03.03 |
[네트워크/인터넷 프로토콜 스택] IP Protocol, UDP, TCP, PORT, DNS 설명정리 (0) | 2022.03.01 |
[네트워크 정리 01] REST 알기 (0) | 2022.02.05 |