저급 언어는 기계 중심의 언어,
컴퓨터는 0과 1로만 이루어진 기계어로 작동하는데, 숫자로만 돼있기 때문에 사용이 굉장히 어렵다.
그래서 이 숫자로 된 문장과 1:1로 대응하는 기호를 만들고, 그 기호로 프로그래밍을 하게 되었고 이 언어를 어셈블리어 라고 한다.
어셈블리어를 기계어로 바꿔주는 도구를 컴파일러 라고 한다.
고급 언어는 사람 중심의 언어라고 말할 수 있다. 즉, 사람이 더 이해하기 쉬운 문법으로 프로그래밍 할 수 있는 언어이다.
Python : 프로그래밍 입문자가 읽기 쉽고 적은 코드를 사용하여 프로그램을 개발할 수 있습니다. 많은 사람에게 추천되는 언어이며, 데이터 과학에서도 자주 사용되며 웹사이트 개발에서도 많이 사용되고 있습니다.
PHP : 웹의 80% 이상이 PHP로 만들어졌다고 말합니다. 그만큼 PHP는 웹 개발에서 많이 사용됩니다.
JavaScript : 자바 스크립트는 처음 시작이 브라우저에서 동작하는 언어였습니다. 현재는 서버에서도 작성하는 프로그램으로 점차 영역을 넓혀가고 있습니다. 프론트 개발자라면 반드시 알아야 할 언어입니다. 자바스크립트 커뮤니티도 점점 더 거대해지고 있습니다.
JAVA : 엔터프라이즈 소프트웨어 환경에 잘 맞는 언어입니다. 큰 규모의 소프트웨어 개발에 자바언어가 많이 사용되고 있습니다. JAVA언어를 지원하는 수많은 커뮤니티에 위해서, 지속적으로 발전되어 훌륭한 구조와 설계 기법들이 잘 갖춰져 있습니다.
Ruby : 빠른 개발에 널리 사용되며, 단순함과 세련된 웹 어플리케이션을 만들 수 있기 때문에 인기 있는 언어 중의 하나입니다.
- HTTP는 서버와 클라이언트가 인터넷상에서 데이터를 주고받기 위한 프로토콜,
즉 네트워크 상에서 정보를 주고받기 위해 약속한 규약이다.
HTTP는 서버/클라이언트 모델, 서버와 클라이언트가 요청과 응답을 주고받는 모델을 따릅니다.
장점
단점
인터넷 상의 자원의 위치
특정 웹 서버의 특정 파일에 접근하기 위한 경로 혹은 주소
프론트엔드는 사용자에게 보여지는 화면을 담당한다.
웹을 통해 문서,동영상,사진 등의 콘텐츠를 제공한다.
웹콘텐츠를 잘 보여주기 위해 구조를 만들어야 한다.(신문,책등과 같이) - HTML
적절한 배치와 일관된 디자인 등을 제공해야 한다.(보기 좋게) - CSS
사용자 요청을 잘 반영해야 합니다. 사용자의 요청에 따라 동적인 화면을 제공 한다. - Javascript
backend는 정보를 처리하고 저장하며, 클라이언트 요청에 따라 정보를 내려주는 역할을 한다.
가령 쇼핑몰이라면, 상품 정보를 가지고 있고, 주문을 받아서 저장하고, 사용자가 관심있어 하는 상품을 골라주는 역할이 back-End의 역할이다
브라우저( chrome, microsoft edge 등)는 http파일에서 정보를 추출하여 해석하고, 화면에 표현하는 역할을 한다.
즉 http가 담고 있는 html,css,javascript에 대한 정보들을 해석해서 사용자가 보고 사용할 수 있게 해준다.
http 요청에 대해 http 응답을 제공
정적 리소스 제공(html, css, js, 이미지, 영상 등)
HTTP 기반으로 동작
기본적으로 웹 서버의 기능을 포함하며 프로그램 코드를 실행해서 어플리케이션 로직을 수행할 수가 있다. -> 사용자에 따라 동적으로 화면을 제공할 수 있다.
서로가 서로의 기능을 포함할 수 있을 정도로 경계가 모호하지만, WAS가 애플리케이션 코드를 실행하는데 더 특화되어 있다.
일반적으로는 WAS로 모든 처리를 해결할 수 있지만, 서비스가 커질수록 Web Server와 WAS를 분리하는 경우가 많다.
왜냐하면, 상대적으로 WAS는 오류가 발생할 확률이 높기 때문에 그 경우를 대비해서 간단한 처리는 Web Server에서 처리하도록 클라이언트와 WAS사이에 위치시켜두면,
오류가 발생했을 때에도 간단한 처리는 수행할 수 있는 상태를 유지할 수 있다.