Web/기초 공부

    MVC 패턴

    ※ 본문은 김영한 선생님의 인프런 '스프링 MVC 1편' 강의를 듣고 정리한 내용임을 알립니다. Model / View / Controller ▶ Controller : HTTP 요청을 받아서 파라미터를 검증하고 비즈니스 로직을 실행, 그리고 View에 전달할 결과 데이터를 조회해서 Model에 담는다. ▶ Model : View에 출력할 데이터를 담아둔다. : View가 필요한 데이터를 모두 Model에 담아서 전달해주기 때문에 View는 화면을 렌더링하는 일에 집중할 수 있다. ▶ View : Model에 담겨있는 데이터를 사용해서 화면을 그리는 일에 집중한다. ※ Service : Controller에 비즈니스 로직을 둘 수도 있지만, 이 경우에는 Controller가 너무 많은 역할을 담당한다. ..

    웹 애플리케이션 이해

    ※ 본문은 김영한 선생님의 인프런 '스프링 MVC 1편' 강의를 듣고 정리한 내용임을 알립니다. ▶ 웹 서버 HTTP 기반으로 동작 정적 리소스 제공, 기타 부가기능 정적 HTML, CSS, JS, 이미지, 영상 ex) NGINX, APACHE ▶ 웹 애플리케이션 서버 (WAS) HTTP 기반으로 동작 웹 서버 기능 포함 + (정적 리소스 제공 가능) 프로그램 코드를 실행해서 애플리케이션 로직 수행 동적 HTML, HTTP, API(JSON), 서블릿, JSP, 스프링 MVC ex) 톰캣, Jetty, Undertow ※ 웹 서버와 웹 애플리케이션 서버(WAS)의 차이 : 웹 서버는 정적 리소스(파일), WAS는 애플리케이션 로직 : 사실 두 용어의 경계 자체가 모호함 : 자바의 경우, 서블릿 컨테이너 ..

    HTTP 정리

    ※ 본문은 김영한 선생님의 인프런 '모든 개발자를 위한 HTTP 웹 기본 지식' 강의를 듣고 정리한 내용임을 알립니다. ▶ HTTP의 활용도 : HyperText Transfer Protocol → 지금은 HTTP 메시지에 모든 것을 전송 => HTML, TEXT, IMAGE, 음성, 영상, 파일, JSON 및 XML, 서버 간에 데이터를 주고 받을 때 ▶ HTTP 버전 → TCP : HTTP/1.1, HTTP/2 → UDP : HTTP/3 => 현재 HTTP/1.1을 주로 사용하지만 HTTP/2, HTTP/3의 사용도 점점 증가하고 있다. ▶ HTTP 특징 : 클라이언트 서버 구조 : 무상태 프로토콜(Stateless), 비연결성 : HTTP 메시지를 통해서 통신 : 단순하고 확장 가능 ▶ 클라이언트 ..

    웹 기본

    ※ 본문은 김영한 선생님의 인프런 '모든 개발자를 위한 HTTP 웹 기본 지식' 강의를 듣고 정리한 내용임을 알립니다. Q. 수많은 복잡한 노드들을 넘어서 어떻게 통신이 넘어가는 것인가? ▶ IP (Internet Protocol) : IP 주소를 부여하고, 지정한 IP 주소에 패킷(Packet)이라는 통신 단위의 데이터를 전달하는 방식 → 한계 ① 비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 ② 비신뢰성 : 중간에 패킷이 사라진다면? 패킷이 순서대로 안온다면? ③ 프로그램 구분 : 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면? ▶ TCP (Transmission Control Protocol, 전송 제어 프로토콜) 연결 지향 - TCP 3 way hand..