![[모든 개발자를 위한 HTTP 웹 기본 지식] 2. URI와 웹 브라우저 요청 흐름](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc4Q1gA%2FbtsDxUUqWKR%2FwoyE2uNipDdPrgrt7y9dU0%2Fimg.png)
인프런 김영한 강사님의 [모든 개발자를 위한 HTTP 웹 기본 지식] 을 수강하고 정리한 글입니다.
모든 개발자를 위한 HTTP 웹 기본 지식 강의 - 인프런
실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연소 기술
www.inflearn.com
📌 URI
URI(Uniform Resource Identifier)란?
: 소스를 식별하는 방법이다.
UR.. 로 시작하는 것들을 흔히 들어봤을 거다.
사실 URL과 URN은 URI에 속한 것들인데,
L은 Locator (위치, 주소), N은 Name(이름), I는 Identifier(식별자)를 의미한다.
한마디로 어떤 소스를 식별하는데 있어 Locator를 쓰는 방법과 Name을 쓰는 방법으로 나눠진다는 뜻이다.
그래서 둘의 형식은 아래처럼 다르다.
사실 우리에게 좀 더 익숙한 쪽은 URL이다.
그렇다. URN은 잘 사용하지 않는다. 이름만으로 리소스를 찾을 수 있는 방법이 아직 보편화되지 않았기 때문이다.
그렇다면 자주 사용하는 URL은 어떤 구조인지 알아보자.
scheme
- 주로 프로토콜을 사용하는데, 그 예시로 http, https, ftp 등이 있다.
- https는 http에 보안을 추가한 것이다. (HTTPS : HTTP Secure)
userinfo
- 사용자 정보를 나타내는데 거의 사용하지 않는다.
host
- 호스트명을 의미하며, 도메인명 또는 IP 주소를 사용한다.
- 도메인과 IP주소의 관계는 DNS에서 배웠었다!
port
- 해당 URL의 접속 포트를 의미하며, 일반적으로는 생략한다.
- http는 80, https는 443을 의미한다.
path
- 리소스 경로를 의미한다.
- / 를 활용한 계층적 구조로 이루어져있다.
- ex> /members/100
query
- 웹 서버에 제공하는 문자 형태 파라미터를 의미한다.
- Key-Value 형태로 구성되어 있다.
- ?로 시작하며, &로 여러 query를 연결한다.
- ex> ?keyA=valueA&keyB=valueB
fragment
- HTML 내부 북마크 등에 사용한다.
- 서버에 전송하는 정보는 아니다.
📌 웹 브라우저 요청 흐름
웹 브라우저 요청을 하게 되면 우선, DNS를 조회하여 IP 주소를 알아낸다.
이 때 HTTP 요청 메서드는 아래와 같은 구조를 가진다.
그리고 이 메시지를 전송하기 전, 우리가 배웠던 TCP 및 IP의 패킷들로 감싸서 보내야한다!
이러한 과정을 거쳐 패킷을 웹 브라우저에서 서버로 전송하고, 서버로 부터 응답 패킷을 성공적으로 받게 되면 웹 브라우저는 우리가 보는 화면인 HTML을 렌더링하게 된다.
'Computer Science > Network' 카테고리의 다른 글
[모든 개발자를 위한 HTTP 웹 기본 지식] 4. HTTP 메서드 (0) | 2024.01.18 |
---|---|
[모든 개발자를 위한 HTTP 웹 기본 지식] 3. HTTP 기본 (0) | 2024.01.17 |
[모든 개발자를 위한 HTTP 웹 기본 지식] 1. 인터넷 네트워크 (0) | 2024.01.15 |
[Network] 양방향 암호화 방식 (대칭키 / 비대칭키) (0) | 2023.12.15 |
[Network] 단방향 암호화 방식(Hash, MAC) (0) | 2023.12.14 |
개발자가 되고 싶어요.