(인프런) 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 공부하고 리뷰한 글입니다. 5. HTTP 메시지(중요!) 1. 모든 것이 HTTP (복습) HTTP 메시지에 모든 것을 전송 1) 거의 모든 형태의 데이터 전송 가능 - HTML, TEXT - IMAGE, 음성, 영상, 파일 - JSON, XML(API) 2) 서버 간에 데이터를 주고받을 때도 대부분 HTTP 사용 2. HTTP 요청 메시지와 HTTP 응답 메시지 보는 것과 같이, HTTP 요청 메시지와 HTTP 응답 메시지는 형태가 조금 다르다. 3. HTTP 메시지(HTTP 요청 메시지와 HTTP 응답 메시지)의 구조 3-1. HTTP 메시지 구조 1) start-line: 시작 라인 2) header: 헤더 3) empty line:..
4. PORT 1. 한 번에 둘 이상 연결해야 하면? 현재 클라이언트 PC에서 게임, 화상통화, 웹 브라우저 요청도 하고 있는 상황을 가정해보자. 즉, 클라이언트 PC가 여러 개의 서버와 통신해야 하는 상황이다. 서버가 클라이언트 PC로 패킷을 보내려면 클라이언트 IP로 패킷을 보내야한다. 하지만 IP만 사용하면, 클라이언트 입장에서는 받은 패킷이 게임, 화상통화, 웹브라우저 요청 중 어떤 프로그램으로 온 패킷인지 알 수 없는 문제가 있다. 그래서 프로그램을 구분하기 위해 PORT를 사용한다. 2. TCP/IP 패킷 정보 TCP/IP 패킷을 보면 출발지 IP, 목적지 IP와 함께 출발지 PORT, 목적지 PORT 가 포함된 것을 알 수 있다. - IP : 목적지 서버를 찾는 용도 - PORT : 서버 내..
3. TCP, UDP 앞서 보았던 IP 프로토콜의 한계점들을 해결해 주는 것이 바로 TCP 다. 1. 인터넷 프로토콜 스택의 4계층 2. 프로토콜 계층 채팅 프로그램에서 Hello, world! 라는 메시지를 보내는 상황을 가정한다. 1) 채팅 프로그램이 Hello, world! 라는 메시지를 생성한다. 2) 생성된 메시지를 SOCKET 라이브러리를 통해 OS 계층에 넘긴다. 3) OS 계층의 TCP 계층에서 메세지 데이터(Hello, world!)를 포함해 TCP 정보를 생성한다. 4) OS 계층의 IP 계층에서 TCP 정보를 포함해 IP 패킷을 생성한다. - IP 패킷: (IP 관련 정보 + (TCP 관련 정보 + (메시지 데이터))) 5) IP 패킷이 LAN 카드를 통해 나갈 때 Ethernet F..
(인프런) 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 공부하고 리뷰한 글입니다. 1. 인터넷 통신 1. 인터넷에서 컴퓨터 둘은 어떻게 통신할까? 만약, 클라이언트와 서버가 가까이 있으면 케이블로 2PC를 연결하여 통신할 수 있다. 하지만, 클라이언트와 서버의 거리가 멀면 그 사이에 있는 인터넷망을 통해서 Hello,world 라는 메시지를 보내야 한다. 2. 복잡한 인터넷 망 그런데 인터넷망은 너무 복잡하다! 클라이언트(출발지)에서 인터넷 망 내부의 수많은 중간 노드(서버)를 거쳐 메시지를 서버(목적지)로 전달해야 한다. 그럼 어떤 규칙으로 수많은 노드들을 거쳐 목적지에 메시지를 전달할까? 이를 이해하기 위해 IP 에 대해 학습한다. 2. IP(인터넷 프로토콜) 1. IP 주소 부여 메세지를..
(인프런) 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 공부하고 리뷰한 글입니다. 0. 소개 1. 개발 목표 1) HTTP의 전체 흐름 이해 2) 실무에 꼭 필요한 핵심 내용 3) 수 많은 예시와 그림으로 쉽게 설명 개발자는 평생 HTTP 기반 위에서 개발하기 떄문에, 한번쯤 HTTP 정리가 필요하다. 우리의 목표는 실무에 꼭 필요한 HTTP 기본 지식을 모두 습득하는 것이다! 2. 강의 대상 HTTP 기술을 사용하는 모든 개발자 - 모바일 앱 - 웹 프론트엔드 - 백엔드: 특히 도움이 많이됨(API URI 설계를 어떻게 할까 /GET, PUT, POST 무엇을 제공할까.. 등) 3. 강의 소개와 순서 1) 인터넷 네트워크 - 복잡한 인터넷 망: 데이터가 어떻게 흐르는지 - 프로토콜 계층: 프..