개념정리

모든 개발자를 위한 HTTP 웹 기본 지식 - 1

슈코 2023. 3. 11. 22:53

 

HTTP

인프런 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식 강의를 듣고 내용을 정리한 것입니다.

 

인터넷 네트워크


인터넷 통신

: 인터넷에서 컴퓨터 둘은 어떻게 통신할까?

 

IP(인터넷 프로토콜)

: 지정한 IP주소(IP Address)에 데이터를 전달

: 패킷(Packet)이라는 통신 단위로 데이터를 전달

 

IP 패킷 정보

: 출발지 IP, 목적지 IP, 기타 ...

: 전송데이터

 

IP 프로토콜의 한계

: 비연결성(패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송한다)

: 비신뢰성(중간에 패킷이 사라지면? / 패캣이 순서대로 안오면?)

: 프로그램 구분(같은 IP를 사용하는 서버에서 통신하는 APP이 둘 이상이면?)

  ex) 게임하면서 음악 듣기

 

TCP 특징

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

: 연결지향 - TCP 3 way handshake

: 데이터 전달 보증(데이터 전송 -> 받았음!)

  (데이터를 보낸걸 모름, 중간에 못보내면 내가 알 수 있다)

: 순서 보증

: 신뢰할 수 있는 프로토콜

: 대부부은 UDP를 사용한다

 

UDP 특징

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

: 하얀 도화지에 비유(기능이 거의 없다)

: 3 way hand shake X

: 데이터 전달 보증 X

: 순서보증 X

: IP와 거의 같다 + port 추가

: 보증은 없지만 속도가 빠르다. 그리고 단순하다.

: 애플리케이션에서 추가적인 작업이 필요하다

 

PORT

: 0~65535 할당 가능 / 0~1023은 잘 알려진 포트들(가급적 사용하지 않는다)

: FTP-20, 21 / TELNET - 23 / HTTP - 80 / HTTPS - 443

 

DNS

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

: 전화번호부!

: 도메인 명을 IP 주소로 변환한다

 

 

URI와 웹 브라우저 요청 흐름


URI(Uniform Resource Identifier)

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

 

URI? URL? URN?

: URL - Locator : 리소스가 있는 위치를 지정

: URN - Name : 리소스에 이름을 부여

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

: URN 이름만으로 실제 리소스를 찾는 방법은 보편화되어 있지 않다.