인프런 김영한님 [모든 개발자를 위한 HTTP 웹 기본 지식] 강의를 듣고 정리한 내용입니다. 틀린 부분이 있으면 답글 달아 주세요😊😊 1. 모든것이 HTTP - HTTP 메시지에 모든 것을 전송 ⭐⭐⭐ • HTML, TEXT • IMAGE, 음성, 영상, 파일 • JSON, XML • 거의 모든 형태의 데이터 전송 가능 • 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 • 지금은 HTTP 시대! 2. HTTP 요청 메시지와 HTTP 응답 메시지 - 아래 보이는 것과 같이 HTTP는 요청 메시지와 응답 메시지 형태가 다르다. 3. HTTP 메시지 구조 - empty line 공백 라인은 무조건 있어야한다❗❗ 👉 HTTP 요청 메시지 - 요청 메시지도 body 본문을 가질 수 있다. 👉 HTTP ..
인프런 김영한님 [모든 개발자를 위한 HTTP 웹 기본 지식] 강의를 듣고 정리한 내용입니다. 틀린 부분이 있으면 답글 달아 주세요😊😊 1. 비연결성(connectionless) 👉 연결을 유지하는 모델 - TCP/IP 연결 경우 연결을 유지하는 모델이다. ✔ 클라이언트1와 서버가 연결 후, 요청과 응답을 주고 받는다. 클라이언트1은 서버와 연결 유지된 상태 ✔ 클라이언트2와 서버가 연결 후, 요청과 응답을 주고 받는다. 클라이언트2은 서버와 연결 유지된 상태 ✔ 클라이언트3와 서버가 연결 후, 요청과 응답을 주고 받는다. 클라이언트3은 서버와 연결 유지된 상태 ✔ 클라이언트1과 클라이언트2는 서버와 연결을 계속 유지하며, 서버 자원을 소모한다. ✔ 연결이 유지된 상태의 클라이언트1와 서버와 새로운 요청..
인프런 김영한님 [모든 개발자를 위한 HTTP 웹 기본 지식] 강의를 듣고 정리한 내용입니다. 틀린 부분이 있으면 답글 달아 주세요😊😊 1. 무상태 프로토콜 (Stateless) - 서버가 클라이언트의 상태를 보존 X - 장점 : 서버 확장성 높음 (스케일 아웃) - 단점 : 클라이언트가 추가 데이터 전송 2. Stateful, Stateless 차이 👉 상태 유지 - Stateful 👉 상태 유지 - Stateful, 점원이 중간에 바뀌면? 👉 상태 유지 - Stateful, 정리 👉 무상태 - Stateless 👉 무상태 - Stateless, 점원이 중간에 바뀌면? ⭐ 정리 • 상태 유지 (Stateful) : 중간에 다른 점원으로 바뀌면 안된다. (중간에 다른 점원으로 바뀔 때 상태 정보를 다른 ..
인프런 김영한님 [모든 개발자를 위한 HTTP 웹 기본 지식] 강의를 듣고 정리한 내용입니다. 틀린 부분이 있으면 답글 달아 주세요😊😊 1. HTTP (HyperText Transfer Protocol) - HTTP는 하이퍼 텍스트를 주고 받기 위한 규칙(통신 규약)이다. - 네트워크를 통해 서버로부터 데이터를 가져오기 위한 통신으로 크게 HTTP 통신과 Socket 통신 2가지 있다. 👉 모든 것이 HTTP (HTTP 메시지에 모든 것을 전송) • HTML, TEXT • IMAGE, 음성, 영상, 파일 • JSON, XML(API) • 거의 모든 형태의 데이터 전송 가능 • 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 👉 HTTP 역사 • HTTP/0.9 1991년: GET 메서드만 지원, ..
인프런 김영한님 [모든 개발자를 위한 HTTP 웹 기본 지식] 강의를 듣고 정리한 내용입니다. 틀린 부분이 있으면 답글 달아 주세요😊😊 1. URI (Uniform Resource Identifier ) 👉 URI? URL? URN? - URI : 로케이터(locator), 이름(name) 또는 둘 다 추가로 분류될 수 있다. - URI = URL + URN 👉 URL (Resource Locator) / URN (Resource Name) 의 사용 👉 URI 단어 뜻 • Unifrom : 리소스 식별하는 통일된 방식 • Resouce : 자원, URI로 식별할 수 있는 모든 것(제한X) • Identifier : 다른 항목과 구분하는데 필요한 정보 👉 URL, URN 단어 뜻 • URL - Locato..
인프런 김영한님 [모든 개발자를 위한 HTTP 웹 기본 지식] 강의를 듣고 정리한 내용입니다. 틀린 부분이 있으면 답글 달아 주세요😊😊 1. PORT 👉 한번에 둘 이상 연결해야 하려면? 예를들면, 클라이언트PC에서 게임, 화상통화, 웹브라우저 요청을 동시에 하고 있다고 가정해보자. 한번에 클라이언트PC 가 여러개 서버PC와 통신을 해야한다 IP만 사용하면, 클라이언트는 게임, 화상통화, 웹브라우저 요청 중 어떤 프로그램의 패킷인지 알 수 없다. 그래서 프로그램을 구분하기 위해 port를 사용해야 한다. 👉 TCP/IP 패킷 정보 TCP / IP 패킷에는 출발지 IP, PORT / 목적지 IP, PORT + 데이터가 포함되어 전달되는 것을 알 수 있다. - IP : 목적지 서버를 찾는 용도 - PORT ..
인프런 김영한님 [모든 개발자를 위한 HTTP 웹 기본 지식] 강의를 듣고 정리한 내용입니다. 틀린 부분이 있으면 답글 달아 주세요😊😊 3. TCP (Transmission Control Protocol) IP 프로토콜의 한계점을 해결해주는 것이 TCP 입니다. 👉 인터넷 프로토콜 스택의 4계층 👉 프로토콜 계층 1) 채팅 프로그램이 Hello, world! 메세지를 생성 2) SOCKET 라이브러리를 통해서 OS 계층에 메세지를 전달 3) OS 계층의 TCP 계층에서 Hello, world! 메세지를 포함해 TCP 데이터를 생성 4) OS 계층의 IP 계층에서 위에 TCP 데이터를 포함해 IP 패킷을 생성 5) IP 패킷이 LAN 카드를 통해 나갈 때 Ethernet Frame이 포함되어 나감 - Et..
인프런 김영한님 [모든 개발자를 위한 HTTP 웹 기본 지식] 강의를 듣고 정리한 내용입니다. 틀린 부분이 있으면 답글 달아 주세요😊😊 1. 인터넷 통신 인터넷에서 컴퓨터 둘은 어떻게 통신할까? 다른 컴퓨터 두 대가 케이블로 연결되어 있다면, 문제 없이 요청과 응답을 주고 받게 될 것이다. 하지만, 다른 두 대의 컴퓨터가 멀리 있다면 인터넷 망을 통해서 통신할 수 있다. 인터넷은 수많은 노드, 서버와 링크들을 거쳐서 메시지가 전달되어야 한다. 복잡한 인터넷 망을 거쳐서 안전하게 message를 전달하려면 어떻게 해야할까?를 이해하려면 IP(인터넷 프로토콜) 에 대해서 이해해야 한다. 2. IP (Internet Protocol) 인터넷 망을 거쳐 원하는 서버로 요청 또는 메시지를 보내고자 하는 경우 IP..
동기(Synchronous) - 현재 작업의 응답이 끝남과 동시에 다음 작업이 요청된다. - 함수를 호출하는 곳에서 호출되는 함수가 결과를 반환할 때까지 기다린다. - 작업 완료 여부를 계속해서 확인한다. 비동기(Asynchronous) - 현재 작업의 응답이 끝나지 않은 상태에서 다음 작업이 요청된다. - 함수를 호출하는 곳에서 결과를 기다리지 않고, 다른 함수(callback)에서 결과를 처리한다. - 작업 완료 여부를 확인하지 않는다. 블로킹(Blocking) - 제어권이 호출된 함수에게 넘어가서 호출된 함수 내에서 작업이 모두 끝난 후 호출한 함수에게 다시 제어권이 넘어온다. - 작업이 완료된 후 새로운 작업을 수행할 수 있다. 논블로킹(Non-Blocking) - 제어권이 계속 호출한 함수에 있..
프로그램(program) 이란? 파일 단위로 저장 장치에 저장되어 있으며, 아직 실행되지 않은 상태의 코드 덩어리를 의미한다. 프로세스(process) 란? 동적인 개념으로는 '실행 중인 프로그램'이라 한다. 운영체제로부터 메모리 공간을 할당받은 프로그램을 프로세스라고 부른다. 프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap의 구조)을 할당받는다. 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료구조에 접근할 수 없다. 한 프로세스가 다른 프로세스의 자원에 접근하려면 프로세스 간의 통신(IPC, inter-process communication)을 사용해야 한다. ..