기타 덩덩/늘어나라 테크 지식

[모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한] 세션2 URI와 웹 브라우저 요청 흐름

stop-zero 2023. 10. 2. 01:20

URI(Uniform Resource Identifier)

=리소스를 식별하는 통합된 방법, 로케이터(locator), 이름(name) 또는 둘 다 추가로 분류될 수 있다. 

 
Uniform : 리소스를 식별하는 통일된 방식
Resource : 자원, URI로 구분할 수 있는 리소스 전부 (ex. 교통 정보)
Identifier : 다른 항목과 구분하는데 필요한 정보
 

URL (Uniform Resource Locator)

= 리소스 위치, http
 

URN (Uniform Resource Name)

= 리소스 이름, 위치를 찾을 수 없다. 
 

URL 전체 문법

scheme

  • http,https(http에 보안 추가), ftp
  • 프로토콜 사용
    • 프로토콜 : 자원에 접근하는 방식
  • http = 80 / https = 443  > 포트 생략 가능

 

userinfo

  • URL에 사용자 정보를 포함, 거의 사용하지 않음 

 

host

  • 도메인명 또는 IP주소 직접 사용 가능

 

PORT

  • 접속 포트
  • 일반적으로 생략, 생략시 http = 80 / https 443
    • (특정 서버에 따로 접속할 때 입력)

 

path

  • 리소스 경로, 계층적 구조
  • /members/100
  • /Items/iphone12

 

query

  • key=value
  • ?(물음표)로 시작해서 &로 추가하며 파라미터를 붙일 수 있다.
  • query prarameter, query string으로 불림 > 웹서버에서는 모든 것이 문자 형태

 

fragment

  •  html 내부 북마크, 중간 스크롤 부분으로 이동 등에 사용
  • 서버에 전송X

 

웹 브라우저 요청 흐름

1. DNS 조회 > IP 조회 후 PORT 번호 가져옴
2. HTTP 요청 메시지 생성 

  • GET, HTTP 버전 정보, HOST 정보 등

 

3. HTTP 요청 메시지 전송

  • 웹 브라우저가 HTTP 메시지 생성
  • 소켓으로 TCP/IP 연결 > SYN, ACK
  • 데이터 전달
  • TCP/IP 패킷 생성 , HTTP 메시지 포함
  • HTTP 메시지 전송

 

4. 웹에서 요청 패킷 전달 > 서버에 요청 패킷 도착
5. 서버 HTTP 메시지 조회

  • 전달받은 TCP/IP 에서 HTTP 메시지 조회 후 해석 및 요청 작업

 

6. HTTP 응답 메시지 생성

  • HTTP 버전, 결과코드, content-type

 

7. 서버에서 HTTP 응답 패킷 전달> 웹에 응답 패킷 도착
 
8. 웹에서 HTTP 메시지 조회

  • 전달받은 TCP/IP 패킷에서 HTTP 메시지 조회

 
9. 웹에서 HTML 렌더링
 

https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC