asp 튜토리얼의 get post submit 양식에는 5가지 차이점이 있습니다. HTTP 요청과 양식은 별도로 소개됩니다. 도움이 필요한 친구는 asp 튜토리얼의 get post submit form에서 다음과 같은 5가지 차이점을 배울 수 있습니다.
Get과 Post 메서드에는 5가지 차이점이 있습니다.
1. Get은 서버로부터 데이터를 얻는 것이고, Post는 서버로 데이터를 전송하는 것입니다.
2. Get은 제출된 양식의 ACTION 속성이 가리키는 URL에 매개변수 데이터 대기열을 추가합니다. 값은 양식의 각 필드에 일대일로 해당하며 URL에서 볼 수 있습니다. Post는 HTTP 게시 메커니즘을 사용하여 양식의 각 필드와 해당 콘텐츠를 HTML HEADER에 배치하고 이를 ACTION 속성이 가리키는 URL 주소로 전송합니다. 사용자는 이 프로세스를 볼 수 없습니다.
3. get 메소드의 경우 서버 측은 Request.QueryString을 사용하여 변수 값을 얻습니다. post 메소드의 경우 서버 측은 Request.Form을 사용하여 제출된 데이터를 얻습니다.
4. get을 통해 전송되는 데이터의 양은 적으며 2KB를 초과할 수 없습니다. 우편으로 전송되는 데이터의 양은 상대적으로 크며 일반적으로 기본적으로 제한이 없습니다. 그러나 이론상 최대 용량은 IIS4에서는 80KB, IIS5에서는 100KB입니다.
5. get의 보안은 매우 낮고, post의 보안은 높습니다.
HTTP 요청: GET 메소드와 POST 메소드의 차이점
HTTP는 서버와 상호 작용하는 다양한 방법을 정의하며 가장 기본적인 방법은 GET 및 POST입니다. 실제로 GET은 대부분의 요청에 적합한 반면 POST는 사이트 업데이트에만 예약되어 있습니다. HTTP 사양에 따르면 GET은 정보 검색에 사용되며 안전하고 멱등성이 있어야 합니다. 안전하다는 것은 정보를 수정하는 대신 정보를 얻는 데 작업이 사용된다는 의미입니다. 즉, GET 요청에는 일반적으로 부작용이 없어야 합니다. 멱등성은 동일한 URL에 대한 여러 요청이 동일한 결과를 반환해야 함을 의미합니다. 완전한 정의는 보이는 것만큼 엄격하지 않습니다. 기본적으로 목표는 사용자가 링크를 열 때 자신의 관점에서 리소스가 변경되지 않았음을 확신할 수 있도록 하는 것입니다. 예를 들어, 뉴스 사이트의 첫 페이지는 지속적으로 업데이트됩니다. 두 번째 요청은 다른 배치의 뉴스를 반환하지만 이 작업은 항상 현재 뉴스를 반환하기 때문에 여전히 안전하고 멱등성 있는 것으로 간주됩니다. 그 반대. POST 요청은 그렇게 쉽지 않습니다. POST는 서버의 리소스를 변경할 수 있는 요청을 나타냅니다. 여전히 뉴스 사이트를 예로 들면, 기사에 대한 독자의 주석은 POST 요청을 통해 구현되어야 합니다. 왜냐하면 주석이 제출된 후 사이트가 다르기 때문입니다(예: 주석이 기사 아래에 표시됨).
FORM을 제출할 때 Method가 지정되지 않은 경우 기본값은 GET 요청이며 Form에 제출된 데이터는 URL과 ?로 구분되어 URL에 추가됩니다. 영숫자 문자는 있는 그대로 전송되지만 공백은 + 기호로 변환되고 기타 기호는 %XX로 변환됩니다. 여기서 XX는 기호의 16진수 ASCII(또는 ISO Latin-1) 값입니다. GET 요청으로 제출된 데이터는 HTTP 요청 프로토콜 헤더에 배치되고 POST로 제출된 데이터는 엔터티 데이터에 배치됩니다. GET으로 제출된 데이터는 최대 1024바이트일 수 있지만 POST에는 이 제한이 없습니다.
게시물을 사용하는 것과 양식을 사용하는 것의 차이점은 무엇인가요?
Form에서는 post나 get을 사용할 수 있습니다. 이들은 모두 메소드의 법적 값입니다. 그러나 post 및 get 메소드 사용에는 최소한 두 가지 차이점이 있습니다.
1. Get 메소드는 URL 요청을 통해 사용자 입력을 전달합니다. Post 메서드는 다른 형식을 취합니다.
2. Get 모드로 제출하는 경우 Request.QueryString을 사용하여 변수 값을 가져와야 합니다. Post 모드로 제출하는 경우 Request.Form을 통해 제출된 콘텐츠에 액세스해야 합니다.
아래 코드를 주의 깊게 살펴보세요. 이를 실행하여 느낌을 얻을 수 있습니다.
암호
인용된 내용은 다음과 같습니다.
<!--두 양식의 유일한 차이점은 Method 속성입니다-->
다음과 같이 코드 코드를 복사합니다.
<FORM ACTION=getpost.php 튜토리얼 METHOD=get>
<INPUT TYPE=텍스트 NAME=텍스트 VALUE=Hello World></INPUT>
<INPUT TYPE=제출 VALUE=메소드=가져오기></INPUT>
</FORM>
<BR>
<FORM ACTION=getpost.php 방법=포스트>
<INPUT TYPE=텍스트 NAME=텍스트 VALUE=Hello World></INPUT>
<INPUT TYPE=제출 VALUE=방법=게시></INPUT>
</FORM>
<? If Request.QueryString(Text) <> 그러면 ?>
get 메소드를 통해 전달된 문자열은 다음과 같습니다. <B><?= Request.QueryString(Text) ?></B><BR>
<? 종료하면 ?>
<? If Request.Form(Text) <> 그렇다면 ?>
Post 메소드를 통해 전달된 문자열은 다음과 같습니다: <B><?= Request.Form(Text) ?></B><BR>
<? 종료하면 ?>
설명하다
위의 코드를 getpost.asp로 저장한 후 실행합니다. 먼저 post 메서드를 테스트합니다. 이때 브라우저의 URL은 변경되지 않았으며 반환된 결과는 다음과 같습니다.
Post 메소드를 통해 전달된 문자열은 다음과 같습니다: Hello World
그런 다음 get 메소드를 사용하여 테스트가 제출됩니다. 브라우저 URL은 다음과 같습니다.
http://localhost/general/form/getpost.php?Text=Hello+World
그리고 반환된 결과는 다음과 같습니다 .
get 메소드를 통해 전달된 문자열은 다음과 같습니다: Hello World
마지막으로 post 메소드를 통해 제출하면 브라우저 URL은 여전히 다음과 같습니다.
http://localhost/general/form/getpost.php?Text=Hello+World
그리고 반환된 결과는 다음과 같습니다 .
get 메소드를 통해 전달된 문자열은 다음과 같습니다: Hello World
Post 메소드를 통해 전달된 문자열은 다음과 같습니다: Hello World
힌트
get 메소드를 통해 데이터를 제출하면 보안 문제가 발생할 수 있습니다. 예를 들어 랜딩 페이지입니다. get 메소드를 통해 데이터를 제출하면 사용자 이름과 비밀번호가 URL에 표시됩니다. 만약에:
1. 로그인 페이지는 브라우저에 의해 캐시될 수 있습니다.
2. 다른 사람이 고객의 컴퓨터에 접근할 수 있습니다.
그러면 다른 사람이 브라우저 기록에서 고객의 계좌 번호와 비밀번호를 읽을 수 있습니다. 따라서 어떤 경우에는 get 메소드가 심각한 보안 문제를 일으킬 수 있습니다.
제안
Form에서는 post 방식을 사용하는 것을 권장합니다.