>  기사  >  웹 프론트엔드  >  form 태그의 method 속성에 대한 자세한 설명

form 태그의 method 속성에 대한 자세한 설명

Y2J
Y2J원래의
2017-05-20 10:23:263131검색

다음 예에서는 양식 데이터가 메소드 속성을 통해 URL에 추가됩니다.

<form action="form_action.asp" method="get">
  <p>First name: <input type="text" name="fname" /></p>
  <p>Last name: <input type="text" name="lname" /></p>
  <input type="submit" value="Submit" />
</form>

정의 및 사용법

메소드 속성은 방법을 지정합니다. 양식 데이터를 보냅니다(양식 데이터는 action 속성에 지정된 페이지로 전송됩니다).

양식 데이터는 URL 변수(method="get") 또는 HTTP 게시물(method="post")로 보낼 수 있습니다.

method 속성

브라우저는 method 속성에 설정된 메소드를 사용하여 폼에 있는 데이터를 서버로 전송하여 처리합니다. 방법에는 POST 방식과 GET 방식이 있습니다.

POST 방식을 사용하는 경우 브라우저는 다음 두 단계에 따라 데이터를 보냅니다. 먼저, 브라우저는 작업 속성에 지정된 양식 처리 서버와 연결을 설정합니다. 연결이 설정되면 브라우저는 분할된 전송 방법으로 서버에 데이터를 보냅니다.

서버 측에서는 POST 스타일 애플리케이션이 실행되기 시작하면 플래그 위치에서 매개변수를 읽어야 합니다. 매개변수를 읽은 후에는 애플리케이션이 양식 값을 사용하기 전에 매개변수를 수정해야 합니다. 풀다. 사용자별 서버는 애플리케이션이 이러한 매개변수를 수락하는 방법을 명시적으로 지정합니다.

또 다른 경우는 GET 메서드를 사용하는 것입니다. 이 경우 브라우저는 양식 처리 서버와 연결을 설정한 다음 한 번의 전송 단계에서 모든 양식 데이터를 직접 보냅니다. 브라우저가 데이터를 직접 첨부합니다. 작업 URL 뒤의 양식에 추가하세요. 물음표를 사용하여 둘을 구분하세요.

일반 브라우저는 위의 방법 중 하나를 통해 양식 정보를 전송할 수 있지만 일부 서버는 이 방법 중 하나로 제공된 데이터만 허용합니다.

태그의 메소드 속성에서 양식 처리 서버가 데이터를 처리하는 데 사용해야 하는 메소드(POST 또는 GET)를 지정할 수 있습니다.

POST 또는 GET?

양식 처리 서버가 POST 및 GET 방식을 모두 지원하는 경우 어떤 방식을 선택해야 합니까? 이와 관련된 몇 가지 규칙은 다음과 같습니다.

최고의 양식 전송 성능을 얻으려면 GET 메서드를 사용하여 다음과 같은 작은 양식을 보낼 수 있습니다. 몇 개의 짧은 필드만 있습니다.

● 일부 서버 운영 체제에서는 애플리케이션에 즉시 전달할 수 있는 명령줄 매개변수의 수와 길이를 제한합니다. 이 경우 필드가 많거나 텍스트 필드가 매우 긴 경우 양식의 경우 이를 사용해야 합니다. POST 방식으로 전송됩니다.

서버 측 양식 처리 애플리케이션 작성 경험이 없다면 GET 방식을 선택해야 합니다. POST 방법을 사용하는 경우 읽기 및 디코딩 방법에서 몇 가지 추가 작업을 수행해야 합니다. 아마도 이는 어렵지 않지만 이러한 문제를 처리할 의향이 없을 수도 있습니다.

보안이 문제인 경우 POST 방식을 사용하는 것이 좋습니다. GET 메소드는 양식 매개변수를 애플리케이션의 URL에 직접 배치하므로 네트워크 스누퍼가 쉽게 캡처하고 서버의 로그 파일에서 발췌할 수 있습니다. 매개 변수에 신용 카드 계좌 번호와 같은 민감한 정보가 포함되어 있으면 사용자의 보안이 자신도 모르게 손상될 수 있습니다. POST 애플리케이션에는 보안 취약점이 없으며 처리를 위해 별도의 트랜잭션으로 매개변수를 서버에 전송할 때 최소한 암호화를 사용할 수 있습니다.

● 서버측 애플리케이션을 폼 외부에서 호출하고 여기에 매개변수를 전달하는 과정을 포함시키려면 GET 메서드를 사용해야 합니다. 이 메서드를 사용하면 폼 등의 매개변수가 포함될 수 있기 때문입니다. URL의 일부로. 반면에 POST 스타일을 사용하는 애플리케이션은 URL 다음에 브라우저에서 추가 전송이 필요하며 전송된 콘텐츠는 기존 태그의 콘텐츠로 사용할 수 없습니다.

명시적으로 매개변수 전달

前面的一些建议也可以作为选择此种方式的一定解释。假设你有一个很简单的表单,其中只包含 x 和 y 这两个参数。在对这些元素的值进行编码时,它们的形式如下所示:

x=28&y=66

如果表单采用了 method=GET,那么用来引用服务器端应用程序的 URL 将如下所示:

http://www.example.com/example/program?x=28&y=66

在任何时候我们都可以创建一个传统的 标签,用它在调用带有所需参数值的表单,其形式如下所示:

唯一的问题是,分隔参数所用的 & 符号也是字符实体中的插入符号。如果在 标签的 href 属性中放入一个 & 符号,浏览器就会将其后面的字符替换成相应的字符实体。

为了防止出现这种情况,我们必须用它的实体对等物来替换 & 符号,也就是用 "&" 或 "&" 来替换。替换之后,上面的那个引用服务器应用程序的非表单示例将如下所示:

由于这样还是不能在 URL 中使用 & 符号,并且有可能在将来带来混乱,因此我们鼓励服务器设置最后也能够接受用分号作为参数分隔符。您也可以看看自己的服务器文档,了解服务器是否支持这种功能。

语法

<form target="value">

属性值

form 태그의 method 속성에 대한 자세한 설명

【相关推荐】

1. HTML免费视频教程

2. 带你掌握HTML中table和form表单

3. 详解html中form表单的参数和属性

4. 详解form标签中的method属性

5. 详解form表单的工作过程

위 내용은 form 태그의 method 속성에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.