코딩캠프/AI 웹개발 취업캠프

[AI 웹개발 취업캠프] 16Day - 백엔드 OT, 웹서버

고랑E 2023. 8. 7. 23:00
728x90

앞으로 2주간 백엔드 강의 내용 및 목표

강의 내용

1. 웹서버와 HTTP (Hypertext Transfer Protocol)

2. REST API (Representational State Transfer)

3. Fast API (with Python)

 

강의 목표

• 백엔드 개발자가 알아야 할 기초지식을 습득한다.

• HTTP와 RestAPI의 기본 개념을 알고 있고 있는 수준에 도달한다.

• Python의 대표 웹프레임워크인 FastAPI의 기본 사용 방법을 익히고 배포할 수 있는 수준에 도달한다.

 

웹서버

개요

  • 웹서버는 소프트웨어를 보통 말하지만, 웹 서버 소프트웨어가 동작하는 컴퓨터를 말한다.
  • 웹서버의 가장 중요한 기능은 클라이언트가 요청하는 HTML 문서나 각종 리소스를 전달해준다.
  • 웹 브라우저나 웹 크롤러가 요청하는 리소스는 컴퓨터에 저장되어 있는 정적 데이터나 동적인 결과가 될 수도 있다.

 

기본 조건

  1. 항상 실행 중이여야 함
  2. 항상 인터넷과 연결되어야 함
  3. 항상 같은 IP주소를 가지고 있어야 함

 

컨텐츠

정적 컨텐츠

  • 정적 컨텐츠로만 웹사이트를 구성하는 것이 가장 쉽고 간편하다.
  • 웹에서 대표적인 정적컨텐츠 : HTML, CSS 등

 

동적 컨텐츠

  • 동적 컨텐츠와 함께 구성하면 웹사이트의 구축이 복잡해짐
  • 동적 컨텐츠는 웹사이트를 보다 유연하고 여러 사용자에게 다른 화면을 제공할 수 있다.

 

종류

  • Nginx
  • Apache
  • Microsoft IIS
  • NodeJS

 

동작방식

  Apache HTTP Server Nginx
역사 1900 중반부터 오랜기간 사용 2002 부터 가장 많이 사용
아키텍쳐 Process-based, thread-based 아키텍쳐 Event-driven 아키텍쳐
성능 컴퓨터 자원을 적극 활용
안정성, 확장성, 호환성
이벤트 기반으로 처리
여러 사용자의 연결 요청을 처리하기 용이
자원사용방식 멀티스레딩 싱글스레딩

 

프로세스와 스레드

프로세스(Process)

메모리에 올라와 실행되고 있는 프로그램의 인스턴스

 

스레드(Thread)

프로세스로부터 할당받아 프로그램 실행을 위해 실질적으로 이용하는 실행 단위

 

본 후기는 정보통신산업진흥원(NIPA)에서 주관하는 <AI 서비스완성! AI+웹개발 취업캠프 - 프론트엔드&백엔드> 과정 학습/프로젝트/과제 기록으로 작성되었습니다.