본문으로 바로가기

[ASP.NET] 9. GET방식 POST 방식

category Program/ASP.NET 2017. 3. 6. 10:46

HTML에서는 사용자로부터 입력을 받기 위해 <input>태그를 사용하는데, <form>태그에는 하나 이상의 <input> 태그들을 포함할 수 있다. 웹 브라우저는 버튼 클릭과 같은 이벤트가 발생하면 <form> 태그에 포함된 <input> 태그의 내용을 action 속성이 가리키는 페이지로 전송한다. HTTP에서 제공하는 대표적인 전송 방식(method)에는 GET방식과 POST방식이 있는데, 이들의 특징은 각각 다음과 같다.


GET 방식의 특징


사용자가 <input> 엘리먼트에 입력한 정보를 URL을 통해 서버로 전송한다. GET 방식으로 전달되는 URI에서 '?' 뒤에 오는 문자열을 '쿼리 스트링(Query String)'이라고 한다. 쿼리 스트링은 '매게변수=변수 값'을 한 쌍으로 하며, & 문자로 연결되어 있다.

  • URL 길이에는 한계가 있기 때문에 많은 양의 데이터를 보내는 것은 적합하지 않다. HTTP 1.1(RFC2616 section 3.2.1)에서는 서버가 255바이트 길이의 URL을 처리 할 수 있도록 규정하고 있으며, 대부분의 웹 브라우저는 2,000이상의 URL을 처리하지 못한다.
  • 사용자 입력이 URL에 노출되어 보안상 문제가 있다.
  • URL에 쿼리 정보가 포함되어 있기 때문에 새로 고침을 하거나 URL을 복사하여 다른 곳에서 보아도 동일한 문서를 볼 수 있다.

POST 방식의 특징

웹 브라우저가 서버로 보내지는 페이지 요청(Request)에 사용자가 <input> 엘리먼트를 통해 입력한 내용을 포함시켜 전달한다.
  • 사용자 입력 정보는 특별한 도구를 사용하지 않는 한 보이지 않는다.
  • GET 방식과는 달리 보내는 정보의 양에 한계가 없다.
  • 특별하게 정보를 유지하지 않을 경우, 새로 고침에 의해 '만료된 페이지' 메시지가 나타난다.


'Program > ASP.NET' 카테고리의 다른 글

[ASP.NET] 11.Page 클래스 속성  (0) 2017.03.06
[ASP.NET] 10.웹 폼 처리과정  (0) 2017.03.06
[ASP.NET] 8.웹 폼의 동작 원리  (0) 2017.03.02
[ASP.NET] 7.네임스페이스  (0) 2017.03.02
[ASP.NET] 6. 객체 지향 프로그래밍  (0) 2017.02.28