2. URI와 웹 브라우저 요청 흐름

freejia·2021년 10월 16일
0

HTTP

목록 보기
2/3

김영한님의 모든 개발자를 위한 HTTP웹 기본지식 강의를 수강하고 요약했습니다.
궁금한 내용은 공부하여 덧붙였습니다.


URI 란?

URI(Uniform Resource Identifier)

"URI는 로케이터(locator), 이름(name)또는 둘 다 추가로 분류될 수 있다."

URI 라는 Resource 식별자를 의미하는 큰 개념이 있다.
주민등록번호 같은 개념이다.

URI는 URL(Resource Locator)과 URN(Resource Name)을 포함한다.

URL과 URN

URL : 리소스의 위치 ex) XX아파트 x동 x호
URN : 리소스에 이름을 부여한 것 ex)홍길동

리소스의 의미
URI로 식별할 수 있는 모든 것!

위치는 변할 수 있지만, 이름은 변하지 않는다.

예시

어떤 책의 isbn URN은 다음과 같다.
urn:isbn:8906000221

URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않았다.
쉽게 말해서, 홍길동 이라는 사람의 이름만으로는 그 사람을 찾을 수 없다.

거의 URL만 쓴다.
앞으로 URI를 URL과 같은 의미로 설명하겠다.

URL의 구조

https://www.google.com/search?q=hello&hl=ko
스키마://[userinfo]@host[:port]/[path][?query][#fragment]

scheme: 보통 프로토콜이 들어간다. https, ftp 등

userinfo: 사용자 정보를 포함해서 인증해야 할 때 쓰는데 거의 안씀.

host:
도메인 명이나 IP주소. 여기서는 www.google.com

port:
일반적으로 생략. 생략시 http는 80 https 는 443

path:
리소스 경로는 계층적 구조.

query:
?로 시작.
&로 쿼리 스트링(파라미터)을 추가 가능하다.
숫자를 넣어도 파라미터가 전부 문자열로 넘어가서 쿼리 스트링이라고 부른다.

fragment :
http 내부 북마크. 서버로 넘어가는 값은 아니다.

HTTP 요청 메시지

브라우저에 URL을 입력하고 HTTP요청을 어떻게 보내는걸까?

  1. 웹 브라우저가 HTTP 요청 메시지를 만든다.
    GET 이라는 HTTP 메서드를 사용한다.
    www.google.com/에 검색하는 URL
    HTTP 버전 등으로 구성된다.

  2. 소켓 라이브러리를 통해 메시지를 전달한다. (TCP/IP연결, 데이터 연결)

  3. TCP/IP 패킷 생성한다.
    HTTP 메시지에 IP와 PORT등의 프로토콜이 만들어낸 정보를 포함하는 것이다.

처음에는 HTTP 요청 메시지를 만들어낸다.
하위 계층으로 갈 수록 프로토콜에 따른 정보들이 붙어서 패킷 양이 늘어난다.

  1. LAN 카드를 타고 전송 한다.

  2. 서버가 HTTP 응답 메시지를 사용자에게 보내준다.
    서버가 보낸 상태코드 200 OK
    내용의 타입이 text/html로 이루어졌다는 것, 인코딩 정보, html 코드 등이 담긴다.


다음 시간에는 HTTP의 기본 특성에 대해 배운다.

profile
코딩 리딩 라이딩💛

0개의 댓글