[postback] 포스트 백이란 무엇입니까?

나는 웹 개발에 나섰고 포스트 백 이라는 단어를 보았습니다. 웹 기반이 아닌 배경에서 온 새로운 웹 개발자는 포스트 백에 대해 무엇을 알아야합니까? (즉, 무엇이며 언제 발생합니까?)

웹 세계의 초보자가 포스트 백을 인식하도록 돕기 위해 더 많은 정보를 공유하려는 경우 가장 감사하겠습니다.



답변

다음은 ASP.Net 초보자를 대상으로합니다.

언제 발생합니까?

포스트 백은 클라이언트 브라우저에서 시작됩니다. 일반적으로 페이지의 컨트롤 중 하나는 사용자에 의해 조작되며 (버튼 클릭 또는 드롭 다운 변경 등)이 컨트롤은 포스트 백을 시작합니다. 이 컨트롤의 상태와 페이지의 다른 모든 컨트롤 (보기 상태)은 웹 서버에 게시 됩니다.

무슨 일이야?

가장 일반적으로 포스트 백은 웹 서버가 포스트 백을 시작한 페이지 클래스 뒤의 코드 인스턴스를 작성하게합니다. 그런 다음이 페이지 개체는 일반 페이지 수명주기 내에서 약간의 차이로 실행됩니다 (아래 참조). 페이지 수명주기 동안 사용자를 다른 페이지로 리디렉션하지 않으면 포스트 백의 최종 결과가 사용자에게 다시 표시되는 것과 동일한 페이지가되고 다른 포스트 백이 발생할 수 있습니다.

왜 그런가요?

웹 애플리케이션이 웹 서버에서 실행 중입니다. 사용자의 응답을 처리하거나 응용 프로그램 상태를 변경하거나 다른 페이지로 이동하려면 웹 서버에서 실행할 코드를 가져와야합니다. 이를 수행하는 유일한 방법은 사용자가 현재 작업중인 모든 정보를 수집하여 서버로 다시 보내는 것입니다.

초보자가 주목해야 할 사항은 다음과 같습니다.

  • 게시 페이지의 컨트롤 상태는 컨텍스트 내에서 사용할 수 있습니다. 이를 통해 페이지 컨트롤을 조작하거나 정보를 기반으로 다른 페이지로 리디렉션 할 수 있습니다.
  • 웹 폼의 컨트롤에는 다른 컨트롤과 마찬가지로 이벤트가 있으므로 이벤트 처리기가 있습니다. 페이지 수명주기의 초기화 부분은 포스트 백을 유발 한 컨트롤의 이벤트 핸들러 전에 실행됩니다. 따라서 페이지의 Init 및 Load 이벤트 핸들러의 코드는 사용자가 클릭 한 버튼에 대한 이벤트 핸들러의 코드보다 먼저 실행됩니다.
  • 포스트 백 후 페이지를 실행할 때는 “Page.IsPostBack”속성 값이 “true”로 설정되고 그렇지 않으면 “false”로 설정됩니다.
  • Ajax 및 MVC와 같은 기술로 포스트 백 작동 방식이 변경되었습니다.

답변

에서 위키 피 디아 :

포스트 백은 일부 페이지를 처리하기 위해 전체 페이지와 그 내용이 서버로 전송 된 후 서버가 동일한 페이지를 브라우저에 다시 게시 할 때 대화 형 웹 페이지에서 수행하는 작업입니다.


답변

포스트 백은 웹 페이지가 처음에 페이지를 생성 한 스크립트 / dll / 무엇에 데이터를 게시 할 때 발생합니다.

C #의 예 (asp.net)

if (!IsPostback)
   // generate form
else
   process submitted data;


답변

주어진 정의를 확장하면 웹 개발자로서 알아야 할 가장 중요한 것은 포스트 백 사이에 상태가 저장되지 않는다는 것입니다. ASP.NET의 Session 또는 Viewstate 컬렉션과 같은 상태를 유지하는 방법이 있지만 일반적으로 모든 포스트 백에서 상태를 다시 만들 수있는 프로그램을 작성하십시오.

이것은 아마도 데스크톱과 웹 기반 응용 프로그램 프로그래밍의 가장 큰 차이점 일 것입니다. 본능적으로이 방법으로 글을 쓰는 시점까지 몇 달이 걸렸습니다.


답변

웹 개발에는 일반적으로 양식 ( <form>태그)이 포함 된 html 페이지가 포함됩니다 . 양식은 URL에 게시됩니다. 원하는 URL에 게시 할 지정된 양식을 설정할 수 있습니다. 포스트 백은 양식 게시물이 자신의 페이지 / URL로 백업 할 때입니다.

이 용어는 ASP.Net 개발자 에게 특별한 의미를 갖 습니다. 이는 페이지의 많은 동작, 특히 ‘이벤트 처리’를 주도하는 주요 메커니즘이기 때문입니다. ASP.Net 페이지는 거의 항상 자체적으로 다시 게시되는 하나의 서버 양식을 가지며 이러한 포스트 백은 페이지 수명주기라는 서버의 실행을 트리거합니다.


답변

이 용어는 타사 웹 서비스 API와 상호 작용할 때 웹 응용 프로그램 개발에도 사용됩니다.

많은 API에는 대화식 및 비 대화식 통합이 모두 필요합니다. 일반적으로 대화식 부분은 리디렉션을 사용하여 수행됩니다 (사이트 1은 사용자를 로그인하여 다시 리디렉션하는 사이트 2로 리디렉션합니다). 비 대화식 부분은 ‘포스트 백’또는 사이트 2 서버에서 사이트 1 서버로의 HTTP POST를 사용하여 수행됩니다.


답변

스크립트가 html 양식을 생성하고 해당 양식의 조치 http가 동일한 양식으로 다시 POST되는 경우.