[HTTP 웹 기본 지식] 1. 인터넷 네트워크 ~ 2. URI와 웹 브라우저 요청 흐름

Rachel·2024년 3월 27일
0

HTTP

목록 보기
1/7
post-thumbnail

모든 개발자를 위한 HTTP 웹 기본 지식 참고

해당 강의를 듣고 간단 정리하며 공부한 글입니다.

🤔 강의 수강 계기

HTTP 중요 기본 지식을 인터넷, 책 등으로 더 공부해보려다가 강의 평도 넘 좋고 많이 듣는 김영한님 강의를 사서 들었다.

개발을 아예 안해본 사람이라면 설명 들을 때 '저게 뭐지?' 하겠지만 어느 정도 해본 사람이 듣기에는 아는 내용이 많은데 그 뒤에 있는 동작 원리 이해하기 좋은 강의라고 생각이 든다.

다른 네트워크 강의에 비해 굉장히 짧고 핵심만 짚어줘서 좋다. 물론 심화적으로 공부하려면 다른 자료를 찾아보는 것이 필요하다.


Section 1. 인터넷 네트워크

인터넷 프로포콜 스택의 4계층

IP

인터넷 프로토콜 역할

  • 지정한 IP 주소에 데이터 전달
  • 패킷(Packet)이라는 통신 단위로 데이터 전달

🎁 IP 패킷 정보: 출발지 IP, 목적지 IP, 기타

IP 프로토콜의 한계

  • 비연결성: 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
  • 비신뢰성 -> 패킷 소실, 보낸 대로 순서 보장x ...
  • 프로그램 구분

TCP

전송 제어 프로토콜(Transmission Control Protocol)

  • 연결 지향 - TCP 3 way handshake(가상 연결)

      1. SYN(접속 요청)
      1. SYN + ACK(요청 수락)
      1. ACK(데이터 전송 가능)
  • 데이터 전달 보증

  • 🌟 순서 보장

  • 신뢰할 수 있는 프로토콜

  • 현재는 대부분 TCP 사용

UDP

사용자 데이터그램 프로토콜(User Datagram Protocol)

  • 하얀 도화지에 비유
  • 연결지향 - TCP 3 way handshake X
  • 데이터 전달 보증 X
  • 순서 보장 X
  • 데이터 전달 보증 X
  • 순서 보장 X
  • 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름

👉 IP와 거의 같다 + PORT + 체크섬 정도만 추가
👉 애플리케이션에서 추가 작업 필요

최근에 뜨고 있음. HTTP3 -> UDP 프로토콜 사용


PORT

같은 IP 내에서 프로세스 구분

🎁 TCP 세그먼트: 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보 ... + 전송 데이터

DNS(도메인 네임 시스템_Domain Name System)

전화번호부
도메인 명을 IP 주소로 변환


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

URI(Uniform Resource Identifier)

URI(Uniform Resource Identifier): 로케이터, 이름 또는 둘다 추가로 분류될 수 있다. (자원 자체를 식별하는 방법)

U(Uniform): 리소스를 식별하는 통일된 방식
R(Resource): 자원, URI로 식별할 수 있는 모든것(제한 없음)
I(Identifier): 다른 항목과 구분하는데 필요한 정보

URI

URL(Uniform Resource Locator): 리소스가 있는 위치를 지정

URN(Uniform Resource Name): 리소스에 이름을 부여

위치는 변할 수 있지만, 이름은 변하지 않는다.
예시_urn:isbn:896043242

URL scheme

URL scheme

  • http는 80 포트, https는 443 포트를 주로 사용, (www.google.com:443) 일반적으로 생략
  • URL path: 리소스 경로, 계층 구조
  • URL query: key=value 형태, ?로 시작, &로 추가 가능
  • [#fragment]: html 내부 북마크 등에 사용, 서버에 전송하는 정보는 아님, 주로 잘 사용 x

웹 브라우저 요청 흐름


profile
기존 블로그: https://hi-rachel.tistory.com

0개의 댓글