한줄 요약 웹서버와 WAS는 클라이언트로부터 온 요청을 처리하는 데서 서로 다른 역할을 한다. 웹서버와 WAS를 분리하면 자원 이용의 효율성 및 장애 극복, 배포 및 유지 보수의 편의성 등의 장점이 있다. 웹서버 하드웨어: 웹 서버의 소프트웨어와 웹사이트의 컴포넌트 파일(html, css, javascript, 이미지)을 저장하는 컴퓨터 소프트웨어: 클라이언트로부터 http 요청을 받아 정적인 컨텐츠를 제공하는 컴퓨터 프로그램 ➡️ 웹 서버의 종류: 아파치, NginX 등 WAS(Web Application Server) WAS는 웹서버와 웹 컨테이너가 합쳐진 개념이다. 정적인 컨텐츠 외에 DB 조회와 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해서 만들어졌다. http 프로토콜을 기반으로 ..
프로그램이 실행하게 되면 OS는 메모리(RAM)에 공간을 할당해준다. 메모리 공간은 코드 영역, 데이터 영역, 스택 영역, 힙 영역의 네 가지 영역으로 나뉜다. 코드(Code) 영역 우리가 작성한 소스코드가 들어 가는 부분. 즉, 실행할 프로그램의 코드가 저장되는 영역으로 텍스트(code)영역이라고도 부른다. 코드영역은 실행 파일을 구성하는 명령어들이 올라가는 메모리 영역으로 함수, 제어문, 상수 등이 여기에 지정된다. 데이터(Data) 영역 전역변수와 정적변수가 할당되는 영역. 프로그램의 시작과 동시에 할당되고, 프로그램이 종료되어야 메모리가 소멸되는 영역 스택(Stack) 영역 프로그램이 자동으로 사용하는 임시 메모리 영역이다. 함수 호출 시 생성되는 지역 변수와 매개변수가 저장되는 영역이다. 함수가..
프로세스 프로세스란 운영체제로부터 자원을 할당받은 작업의 단위를 의미한다. 즉, 프로그램이 실행되어 작업 중인 상태에 있다면 그것은 프로세스라고 할 수 있다. 스레드 스레드란 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위를 의미한다. 하나의 프로세스는 반드시 하나 이상의 스레드를 갖는다. 프로세스 vs 스레드 프로세스는 각각 별도의 주소공간 할당 Code : 코드 자체를 구성하는 메모리 영역(프로그램 명령) Data : 전역변수, 정적변수, 배열 등 초기화 된 데이터는 data 영역에 저장 초기화 되지 않은 데이터는 bss 영역에 저장 Heap : 동적 할당되는 데이터를 위한 공간 Stack : 지역변수, 매개변수, 리턴 값 (임시 메모리 영역) 스레드는 Stack만 따로 할당 받고 나머지 영역은..
CORS CORS는 Cross Origin Resource Sharing의 약자로, 교차 출처 공유라는 의미다. 원래 웹에서는 동일 출처 내에서만 리소스를 공유하게 하는 SOP(Single Origin Policy)에 따라 보안을 유지했다. 그러나 웹 기술이 발전함에 따라 다른 출처로 요청을 주고받을 일이 많아졌고, 서로 다른 출처끼리도 리소르를 공유하도록 허용하는 CORS 정책이 도입됐다. 출처(Origin)은 ① scheme, ② host, ③ port 로 이루어진 도메인을 의미한다. (IE의 경우 port를 비교하지 않음) ① scheme : https ② host: www.naver.com ③ port: null (공개되지 않음) 현재 자신이 속한 출처(Origin)를 기준으로 다른 출처(Orig..
HTTP란? HTTP(HyperText Transfer Protocol) 인터넷 상에서 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약 무상태성(stateless) 서버가 클라이언트의 상태를 보존하지 않는다. 매번의 요청마다 클라이언트가 필요한 상태에 대한 정보를 가지고 온다. 서버의 확장성이 높아진다는 장점이 있지만 주고받는 데이터의 양이 많아진다는 단점이 있다. 비연결성(connectionless) 클라이언트가 서버에 요청을 하고 응답을 받으면 바로 TCP/IP 연결을 끊는다. 그 덕분에 서버의 자원을 효율적으로 관리할 수 있다. 지속 연결(persistent connection) HTTP/1.1부터는 매번의 요청마다 TCP/IP 연결을 끊는 것이 아니라 일정 시간동안 요청이 없을 경우 요청..
돌아온 네트워크 기초 이론 무지성 정리 시간!! 지난번 무지성 정리가 은근 지성 향상에 도움이 되어서 이번에도 기대되는 바입니다. 그럼 레쯔고!!🙌 출처: 널널한 개발자 TV https://youtu.be/k1gyh9BlOT8 LAN과 WAN Local Area Network와 Wide Area Network. 지역의 크기라는 것은 상대적인 건데 어디까지?라는 생각을 했는데 그것이 아니다. 물리적인 부분을 말하는 피지컬과 소프트워어적인 부분을 말하는 로지컬이 있는데 로지컬은 버추얼이라고 바꿀 수 있다. IP란 인터넷에서 사용되는 프로토콜인데, 인터넷은 로지컬 네트워크. 다른 말로 하면 버추얼 네트워크. 인터넷이라는 것을 우리가 WAN을 위한 통신 프로토콜이라고 볼 만하다. LAN과 WAN을 논리적인 것이..
유튜버 널널한 개발자 TV '네트워크 기초 이론' 시리즈 무지성(반쯤만 이해한) 정리입니다. 적어두고 나중에 보면 이해가 되겠지.. 식별자 세 가지: MAC 주소, IP 주소, Port 번호 MAC network interface card(NIC, 쉽게 말하면 랜카드)에 대한 식별자. 하드웨어 주소라고도 한다. 변경 가능하다. 하나의 NIC에도 여러 IP 주소가 있다. ip주소는 호스트에 대한 식별자다. 호스트란? 인터넷에 연결된 컴퓨터. Port 번호는 user mode 수준, 즉 소프트웨어 개발 또는 관리하는 사람에게 물어본다면 프로세스 식별자, 네트워크 관리하는 사람(4계층)에게 물어본다면 서비스 식별자라 할 것이다. 하드웨어 단계에서 네트워크를 다루는 사람에게 물어본다면 인터페이스 번호(네트워크 ..