인프런 HTTP 강의 공부기록

2022. 3. 1. 15:34기타

처음 웹 개발을 공부하는 개발자를 대상으로 한 강의.

 

개발자는 평생 HTTP 기반 위에 있음

-> 언젠가 한번은 HTTP 정리를 해야함 !

 

강의 목표:

  • HTTP의 전체 흐름 이해
  • 실무에 꼭 필요한 핵심 내용
  • 수 많은 예시와 그림으로 쉽게 설명

 


 

[인터넷 네트워크]

  • 인터넷 통신
  • IP(Internet Protocol)
  • TCP, UDP
  • PORT
  • DNS

 


 

[IP(인터넷프로토콜)]

 

역할: 지정한 IP주소에 데이터 전달

노드를 거치며 목적지에 도달함, 도착하면 OK메세지를 다시 노드를 순회하며 출발지에 도달

 

한계:

비연결성

비신뢰성

프로그램 구분

패킷 소실
패킷 전달 순서 문제 발생

 

 


 

[TCP, UDP]

 

Transmission Control Protocol

현재는 대부분 TCP 사용

 

TCP는 IP의 문제를 해결해줌

  • 연결지향
  • 데이터 전달 보증
  • 순서 보장

 

TCP 3 way handshake

1. SYN

2. SYN+ACK

3. ACK

 

 

UDP는 TCP와 같은 계층

IP에서 PORT와 체크섬 정도만 추가되었음

TCP보다 최적화할 여지가 있음

 

 

 

 


 

[PORT]

 

한번에 둘 이상의 연결이 필요하다면 ?

ex)게임 + 화상통화 + 웹브라우저 요청

같은 ip 내에서 프로세스를 구분하는 것이 필요함

-> TCP/IP 패킷 정보에 포트 정보가 있다! 

 

0~65536 할당 가능

0~1023: 잘 알려진 포트, 사용 권장 X

 

 


 

[DNS]

 

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

IP는 기억하기 어렵다.

IP는 변경될 수 있다.

 

도메인 명으로 요청하면 DNS서버가 ip를 줌

 

 


[URI와 웹 브라우저 요청 흐름]

URI, URL, URN

 

URI 는 URL과 URL을 포함한다.

URL은 리소스가 있는 위치를 지정

URN은 리소스에 이름을 부여 - 이것만으로 리소스를 찾는 방법이 보편화되지 않았음

 

URL (https://www.google.com:443/search?q=hello&hl=ko)

  • 프로토콜(https)
  • 호스트명(www.google.com)
  • 포트번호(443)
  • 패스(/search)
  • 쿼리 파라미터(q=hello&hl=ko)

 

 

[HTTP]

HyperText Transfer Protocol

요즘은 http 메시지로 모든 것을 전송할 수 있음

 

클라이언트 서버 구조 -> Request, Response 구조

 

클라이언트는 서버에 요청을 보내고, 응답을 대기한다.

서버가 요청에 대한 결과를 만들어서 응답한다.

 

무상태 프로토콜 (Stateless)

비연결성(Connectionless)