Get, Post, Redirect

2023. 5. 2. 04:29·Spring Boot

"Get, post, redirect" 패턴은 사용자가 웹 페이지를 제출하고 서버가 이를 처리하고 응답을 반환하는 과정에서 사용된다. 이 패턴은 일반적으로 웹 애플리케이션에서 사용자 인터페이스를 보완하는 데 사용된다고 한다.

(웹 애플리케이션에서 사용되는 HTTP 메서드와 기능을 나타낸다)

 

각 특징, 사용방법 및 어떤 동작을 할 때 사용하는지 알아보자.

1. GET

  • 정보를 요청하기 위한 메소드이다.
  • 서버로부터 데이터를 요청하고 응답으로 데이터를 받아온다.
  • 데이터를 URL의 쿼리 매개변수나 경로 변수로 전달할 수 있다.
  • 요청이 캐시될 수 있으며, 브라우저 히스토리에 기록된다.
  • 안전한 연산으로 간주되며, 동일한 요청을 여러 번 보내더라도 동일한 결과를 얻어야 한다.

2. POST

  • 서버에 데이터를 제출하기 위한 메소드이다.
  • 서버에 데이터를 보내고, 처리 및 저장을 요청한다.
  • 보통 HTML <form> 을 통해 데이터를 전송하며, 요청 본문에 데이터를 포함시킨다.
  • 요청은 캐시되지 않으며, 브라우저 히스토리에 기록되지 않는다.
  • 서버에 상태 변경을 요청하거나 새로운 리소스를 생성하는데 사용된다.

3. REDIRECT

  • 리소스의 위치가 변경되었음을 클라이언트에 알리는 메커니즘이다.
  • 서버는 클라이언트에게 새로운 URI로 리다이렉션하도록 요청한다.
  • 클라이언트는 새로운 URI로 다시 요청을 보내야 한다.
  • 주로 웹 페이지의 이동이나 페이지 갱신에 사용된다.

 


Get, Post, Redirect 패턴에서 Redirect가 많이 어렵게 다가와 추가 공부를 했다.

 

 

 "Redirect "는 사용자가 페이지를 제출하고 서버가 이를 처리 한 후 새로운 페이지로 사용자를 리디렉션하는 것을 의미한다. 이 패턴을 사용하면 사용자가 새로 고침 버튼을 클릭하거나 다시 제출 버튼을 클릭하여 같은 데이터를 두 번 제출하는 것을 방지 할 수 있다.
예를 들어, 사용자가 로그인 페이지에서 로그인을 시도하면 서버는 제출된 로그인 정보를 처리한다. 그러나 사용자가 다시 새로 고침 버튼을 클릭하면, 서버는 동일한 로그인 정보를 다시 처리하고 이중 제출 문제가 발생할 수 있다. 이런 경우, 서버는 "Redirect "를 사용하여 사용자를 로그인 후 랜딩 페이지로 리디렉션하여 이중 제출 문제를 해결한다.
따라서 "Get, Post, Redirect " 패턴을 사용하면 웹 애플리케이션에서 사용자 인터페이스를 개선하고 사용자 경험을 향상시킬 수 있다.

'Spring Boot' 카테고리의 다른 글

JPA Project 근황  (1) 2023.08.25
JPA 단 방향(연관 관계)  (0) 2023.06.27
타임리프(Timeleaf)  (2) 2023.05.01
MVC 2  (1) 2023.05.01
Spring 의존성 주입  (0) 2023.04.30
'Spring Boot' 카테고리의 다른 글
  • JPA Project 근황
  • JPA 단 방향(연관 관계)
  • 타임리프(Timeleaf)
  • MVC 2
JAVALA
JAVALA
워니‘s Diary
  • JAVALA
    정신줄 JAVA라
    JAVALA
  • 전체
    오늘
    어제
    • 분류 전체보기 (87)
      • Codding_Test (11)
        • BaekJoon (7)
        • Programmers (3)
      • Algorithm (11)
      • Daily (4)
        • memoir (4)
      • TroubleShooting (8)
        • InteliJ (1)
        • Server (1)
        • Infra (0)
        • DB (0)
      • Computer Science (1)
      • JAVA (8)
      • Javascript (0)
      • Spring Boot (7)
      • API (2)
      • Server (0)
      • DB (3)
        • ORACLE (1)
      • Infra (2)
      • Refactoring (1)
      • Plugin (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    자바 클래스
    자바
    스프링부트
    자바 스프링
    springboot
    백준
    개발자 부트캠프
    자바 스프링부트
    자바 알고리즘
    프로그래머스
    개발자 비전공자
    자바 메소드
    개발자 국비
    백엔드 개발자
    제로베이스
    spring boot
    코딩테스트
    개발자
    트리 자료구조
    프론트엔드 개발자
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
JAVALA
Get, Post, Redirect
상단으로

티스토리툴바