HTTP 웹 기본 지식

김성훈·2022년 2월 5일
0

HTTP 정리

목록 보기
1/10

<출처>

인프런/ 김영한 /모든 개발자를 위한 HTTP 웹 기본 지식

[인터넷 네트워크]

IP

인터넷 프로토콜 역할
• 지정한 IP 주소(IP Address)에 데이터 전달
• 패킷(Packet)이라는 통신 단위로 데이터 전달

똑같이 옴

IP 프로토콜의 한계
• 비연결성
• 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송

• 비신뢰성
• 중간에 패킷이 사라지면?
• 패킷이 순서대로 안오면?

• 프로그램 구분
• 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?
(게임,음악 동시에)

대상이 서비스 불능, 패킷 전달
패킷 소실
패킷 전달 순서 문제 발생

이 문제들을 헤결해 주는것이 TCP 프로토콜

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

  • 애플리케이션 계층 - HTTP, FTP

  • 전송 계층 - TCP, UDP

  • 인터넷 계층 - IP

  • 네트워크 인터페이스 계층

    IP에 문제를 해결해 준다

TCP

먼저 연결을 하고 보낸다,
내가 메세지를 보냈을때 패킷이 누락되면 상대가 메세지를 못 받았는지 알 수 있음

클라이언트 서버 모두 씬을 보내고 에크로 알았다고 한다 이것이 3핸드 쉐이크
연결이 되고나면 데이터를 전송한다
진짜 연결이 된 것이 아니라 개념적으로만 연결이 된다 우리끼리만 연결이 됐다고 치자

UDP

아이피랑 똑같지만 포트가 추가된다
포트는 하나의 아이피에서 여러 패킷이 올때 구분하는 것
이 메세지를 검증해주는 것만 추가되어 있음

PORT

아이피는 목적지 서버를 찾는 것
서버 안에서 돌아가는 애플리케이션을 구분하는 것이 포트
아이피 = 아파트, 포트는 = 몇동, 몇호

DNS

아이피는 기억하기 어렵거나 변경될 수 있다.

URI(Uniform Resource Identifier)

URI? URL? URN?

URI는 로케이터(locator), 이름(name) 또는 둘
다 추가로 분류될 수 있다"
URI = 자원을 식별하는 것
URL, URN = 자원을 식별하는 방법


거의 URL 만 쓴다






웹 브라우저 작동 방식

  1. DNS 서버를 조회해서 아이피랑 포트정보를 찾아낸다
  2. HTTP 요청 메시지를 생성한다.



    구글에서 응답을 만듬


HTTP

HyperText Transfer Protocol



HTTP 메세지를 통해서 요청을 하고 클라이언트는 서버의 응답이 올 때까지 기다린다
서버가 요청에 대한 결과를 만들어서 요청을 하면 클라이언트가 결과를 열어서 동작을 하게된다.
이렇게 분리를 하는 것이 중요하다 왜냐하면 클라이언트와 서버를 분리해서 비지니스 로직이랑 데이터 같은 것들을 다 서버에 밀어 넣는다 그리고 클라이언트는 UI, 사용성에 집중을 한다, 이러면 클라이언트와 서버가 각각 독립적으로 진화를 할 수 있음.
각자의 역할에 집중을 한다
만약에 서버에 트래픽이 폭주 했을때 클라이언트는 신경쓸 필요없이 서버만 신경쓰면 됨

Stateless








서버 연결 유지X, 최소한의 자원 사용

단점

최대한 스테이리스하게 첫 페이지는 정적 페이지를 뿌리고 아무 상태가 없는 순수한 HTML 그 안에서 놀고 보게 한 다음에 이벤트 참여 버튼을 누르게 한다

HTTP 메세지


profile
"한 명이 걷는 천 걸음 보다 천 명이 함께 걷는 한 걸음이 성공의 시작이고 완성이다"

0개의 댓글