김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식 강의 정리&복습
URI(Uniform Resource Identifier)
URI란 이름 그대로 리소스를 식별하는 통일된 방식이라는 뜻이다.
URI는 로케이터(Locater), 이름(Name) 또는 둘 다 추가로 분류될 수 있다.
URL(Uniform Resource Locater): 리소스가 있는 위치를 지정
URN(Uniform Resource Name): 리소스에 이름을 부여
그러나 URN의 이름을 부여하는 방식은 보편화 되어 있는 방식이 아니기 때문에 앞으로 URI와 URL을 동일시 하겠다.
URL의 전체 문법
scheme://[userinfo@]host[:port][/path][?query][#fragment]
scheme
주로 어떤 방식으로 자원에 접근할 것인가에 대해 정하는 프로토콜을 사용한다.
예시로는 http, https, ftp 등이 있다.
userinfo
URL에 사용자정보를 포함해서 인증해야 할 때 쓰이지만 거의 사용하지 않는다.
host
호스트명을 뜻하며 도메인 명 또는 IP 주소를 직접 사용한다.
port
접속 포트를 의미하며 일반적으로는 생략한다.
생략시 http는 80, https는 443이다.
path
리소스 경로를 의미하며 계층적 구조로 이루어져 있다.
예시로는 /home/file1.jpg 같은 계층적 구조이다.
query
key=value 형태로 이루어져 있으며 ?로 시작하고 &로 추가 가능하다.
보통 query parameter, query string 등으로 불린다.
fragment
html 내부 북마크 등에 사용하며 서버에 전송하는 정보는 아니다.
웹 브라우저 요청 흐름
만약 웹 브라우저에 "https://www.google.com:443/search?q=hello&hl=ko"를 검색하는 상황을 생각해보자.
먼저 웹 브라우저에서는 HTTP 요청 메시지를 생성한다..
그런 다음 저번 시간에 배운 인터넷 프로토콜 스택의 4계층의 각 과정을 지나면서 요청 패킷을 만든다.
그 후 요청 패킷을 인터넷을 통해 구글 서버에 전달한다. 그럼 구글 서버에서는 요청 패킷을 분석해서 HTTP 응답 메시지 만들고 같은 과정을 통해 응답 패킷을 전송해준다.
마지막으로 웹 브라우저에서 응답 패킷을 받으면 분석하여 보여준다.
'HTTP' 카테고리의 다른 글
[HTTP 웹 기본 지식] - HTTP 상태코드 (0) | 2023.08.06 |
---|---|
[HTTP 웹 기본 지식] - HTTP 메서드 활용 (0) | 2023.08.04 |
[HTTP 웹 기본 지식] - HTTP 메서드 (0) | 2023.08.02 |
[HTTP 웹 기본 지식] - HTTP 기본 (0) | 2023.08.01 |
[HTTP 웹 기본 지식] - 인터넷 네트워크 (0) | 2023.07.27 |