분류 전체보기

    [네트워크] HTTP 공부 #6

    HTTP 상태 코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다. 만약 모르는 상태가 코드가 나타날 경우 상위 상태코드로 해석한다. 2xx - Successful 클라이언트의 요청을 성공적으로 처리 200 OK 요청이 성공적으로 되었습니다. 성공의 의미는 HTTP 메소드에 따라 달라집니다. 201 Created 요청이 성공적이었으며 그 결과로 새로운 리소스가 생성되었습니다. 202 Accepted 요청을 수신하였지만 그에 응하여 행동할 수 없습니다. 이것은 다른 프로세스에서 처리 또는 서버가 요청을 다루고 있거나 배치 프로세스를 하고 있는 경우를 위해 만들어졌습니다. 배치 처리 같은 곳에 사용합니다. 204 No Content 요청에 대해서 보내줄 수 있는 콘텐츠가 없지만, 헤더는 의..

    [Spring] 스프링 공부 #19

    HttpServletResponse 역할 HTTP 응답코드 지정 헤더 생성 바디 생성 Status-line 및 response-header 설정 관련 메서드 @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //[status-line] response.setStatus(HttpServletResponse.SC_OK); //[response-headers] response.setHeader("Content-Type", "text/plain"); response.setHeader("Cache-Control", "no-cache,..

    [Spring] 스프링 공부 #18

    HttpServletRequest 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 요청 메시지를 파싱하고, 결과를 HttpServletRequest 객체에 담아서 제공한다. start-line 정보 private void printStartLine(HttpServletRequest request) { System.out.println("--- REQUEST-LINE - start ---"); System.out.println("request.getMethod() = " + request.getMethod()); System.out.println("request.getProtocal() = " + request.getProtocol()); System.out.println("request.get..

    [Spring] 스프링 공부 #17

    정적 리소스 고정된 HTML 파일, CSS, JS, 이미지 영상 등을 제공 HTML 페이지 동적으로 필요한 HTML 파일을 생성해서 전달 HTTP API 요청이 오면 JSON형태의 데이터를 전달 다양한 시스템에서 호출 가능 UI는 클라이언트가 별도 처리 SSR - 서버 사이드 렌더링 서버에 요청이 오면 결과를 HTML로 렌더링해서 결과로 반환 서버에서 HTML 결과물을 만들어서 웹 브라우저에 전달 정적인 화면에 사용 ex) JSP, 타임리프 CSR - 서버 사이드 렌더링 HTML 결과를 자바스크립트를 사용해 웹 브라우저에 동적으로 생성해서 적용 ex) React, Vue 출처 [인프런] 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 https://www.inflearn.com/course/%EC%8A..

    [Spring] 스프링 공부 #16

    웹 서버 (Web Server) HTTP 기반으로 동작 정적 리소스 제공 정적 HTML, CSS, JS, 이미지, 영상 ex) APACHE, NGINX 웹 애플리케이션 서버(WAS - Web Application Server) HTTP 기반으로 동작 웹 서버 기능 포함 프로그램 코드를 실행해서 애플리케이션 로직 수행 가능 사용자마다 다른 화면 구성이 가능해진다. ex) Tomcat Jetty, Undertow 웹 서버와 WAS의 차이 웹 서버는 정적 리소스만 제공하지만, WAS는 애플리케이션 로직까지 제공할 수 있다. Java의 경우 서블릿 컨테이너 기능을 제공하면 WAS WAS는 애플리케이션 코드를 실행하는데 더 특화되어 있다. 정적 (웹 서버) vs 동적 (WAS) 웹 시스템 구성 정적 리소스는 웹 ..

    [네트워크] HTTP 공부 #5

    클라이언트에서 서버로 데이터 전송 데이터 전달 방식 쿼리 파라미터를 통한 데이터 전송 (GET) 메시지 바디를 통한 데이터 전송 (POST, PUT, PATCH) 정적 데이터 조회 이미지, 정적 텍스트 문서 조회한다. GET을 사용해서 조회한다. 동적 데이터 조회 조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건에 사용한다. GET 사용한다. 파라미터를 사용해서 데이터를 전달한다. HTML Form Submit할 경우 POST를 사용한다. 조회할 경우에는 GET도 사용 가능하다 form의 내용을 메시지 바디를(key-value 형태) 통해서 전송한다. HTTP API 데이터 전송 서버에서 서버간의 통신에 사용한다. 앱 클라이언트(안드로이드, iOS)에서 전송할 때 사용한다. 웹 클라이언트의 A..

    [네트워크] HTTP 공부 #4

    좋은 URI 설계 HTTP 요청 대상을 "리소스"라고 부르는데, 그에 대한 본질을 이 이상으로 정의할 수 없습니다; 그것은 문서, 사진 또는 다른 어떤 것이든 될 수 있습니다. 각 리소스는 리소스 식별을 위해 HTTP 전체에서 사용되는 URI에 의해 식별됩니다. 좋은 URI 설계를 위해서는 리소스 식별이 가장 중요하다. 회원 정보 관리 API를 개발한다고 하면, 회원이 리소스가 될 수 있다. ex) /members/{id} URI는 리소스만 식별한다! HTTP 메서드 GET : 특정 리소스의 표시를 요청합니다. GET을 사용하는 요청은 오직 데이터를 받기만 합니다. POST : 특정 리소스에 엔티티를 제출할 때 쓰입니다. 이는 종종 서버의 상태의 변화나 부작용을 일으킵니다. PUT : 목적 리소스 모든 ..