GET, POST

데이터를 전송하는 방식에 있어, Get방식은 URL에 붙여서 넘기게 되며, Post방식은 Header를 통해 전송되는 방식입니다.

따라서, Post방식은 헤더를 통해 전송시키기 위해, Form 태그를 사용하게 되는 것이지요. 이 헤더에 관해서는 공부를 하실 필요가 있습니다.

굳이 이와 같이 2가지로 사용하는 이유는, 1. Get 방식으로 넘길수 있는 데이터의 양은 한계가 있습니다. 또한 Get방식에는 예약어(? & 등)가 있습니다. (인코딩과 디코딩을 이용해서 넘길 수는 있겠죠), 2. 사용자에게 값들을 쉽게 노출을 시키지 않으려 할때 사용할 수 있습니다.

하지만, 보안의 측면은 둘다 허술합니다. 다만 Get방식이 눈에 보인다는 것의 차이일뿐, 어차피 데이터를 전송할때는 암호화되지 않고 텍스트형태로 고대로 전송되므로, 중간에 해커에 의해 해킹될 수도 있습니다.

윗분이 속도를 언급하셨는데, 속도는 무관합니다. 당연히 데이터가 많을수록 속도는 떨어지는 것은 당연하겠죠. 보다 많이 전송시키는데요.

현재 지식인이나, 검색엔진은 Get방식으로 이용을 하는데, 이는 외부에서 링크를 걸기 쉽게 하기 위해서 입니다.

----------------------------------------------------------------------------------------

웹 문서에서 아이디나 비밀번호 또는 다른 데이터 들을 서버측 으로 보낸 다음 수행이 되는 경우가 있다. 이때 문서에서 서버측 으로 데이터가 전달되는 방법이 2가지가 있는데 GET 방식과 POST방식이다. 각각의 방식들은 나름대로의 장단점을 가지고 데이터를 전달하는 역할을 한다.

GET 방식

1.웹 브라우저의 주소 입력란에서 아래와 같이 직접 입력하여도 데이터를 서버로 전송한다.(클라이언트로 부터의 데이터를 이름과 값이 겨합된 스트링 형태로 전달 하므로 각각 이름과 값은 “&”를 이용하여 결합한다.

ex) (http://localhost/chs/book/Request.jsp?Name=Michael&Depy=Computer)

2.기본적으로 데이터베이스에 대한 질의어 데이터와 같은 요청을 위한 정보를 전송할 때 사용
3.GET방식으로 보낼때는 같이 딸려가는 글자수에 제한이 있다(255자).
4.GET 방식을 사용하면 이를 초과하는 데이터가 절단된다.
5.GET 방식을 사용하면 데이터가 주소 입력란에 표시되므로 최소한의 보안도 유지되지 않는다.
6.GET 방식은 정보를 URL의 끝에 질의 문자열로서 서버로 보내어진다.
7.데이터를 쿼리 스트링(Query String)의 일부로써 전달한다.
8. 일반적인 HTTP 호출은 모두 GET 방식으로 이루어진다.
9.변수 넘기지 않는 일반 호출도 GET 이다.
10. 사용이 간편하다는 장점이 있다.

11.사용 예)

get 방식 예제

<HTML>
<HEAD><TITLE> get 방식 예제 </TITLE></HEAD>
<BODY><CENTER>
<FORM NAME="form1" ACTION="get_meth_view.asp" METHOD="get">
    이 름 : <INPUT TYPE="text" NAME="uname">
    메 일 : <INPUT TYPE="text" NAME="mail">
    <P></P>
    <INPUT TYPE="submit" VALUE="전송">
    <INPUT TYPE="reset" VALUE="다시">
</FORM></CENTER>
</BODY>
</HTML>

테스트 후 브라우저의 주소박스에 보여지는 URL은 다음과 같다.
http://localhost/object_asp/get_meth_view.asp?uname=seong+gigoo&mail=midibest@orgio.net

 


POST 방식

1.POST 방식은 HTTP 헤더에 숨겨져(인코드되어) 서버로 전송이 됩니다.
2.다음과 같이 브라우저의 주소창에는 실행 파일명만 나타납니다.
http://localhost/object_asp/post_meth_view.asp
3.일반적으로 HTML의 FORM을 이용해서 넘기는 방식입니다.
4.이 방식은 서버에 값을 넘기기 위해 만들어진 방식입니다.
5. 데이터베이스에 대한 갱신 작업과 같은 서버측에서의 정보 갱신 작업을 원할 때 사용
6.POST 방식을 사용하면 GET 방식에 비해 상대적으로 처리 속도가 늦어짐
7.클라이언트로부터의 데이터가 HTTP 헤더에 포함되어 전송
8.일정한 크기 이상의 데이터를 전송할 때에는 POST 방식을 사용
9.내부의 구분자가 각 파라미터(이름과 값)를 구분
10.클라이언트측에서 데이터를 인코딩 → 서버측에서 디코딩 클라이언트와 서버간에 상호 정의되어 있는 형식대로 값을 인코딩한 다음 서버로 전송

서버 : 전달된 스트링을 디코딩 → 각 파라미터를 구분 → 필요한 값들을 추출

11.사용 예)

파일명 : post_meth_vtest.htm
<HTML>
<HEAD>
<TITLE> POST 방식 예제 </TITLE>
</HEAD>
<BODY>
<CENTER>
<FORM NAME="form1" ACTION="post_meth_view.asp" METHOD="post">
    이 름 : <INPUT TYPE="text" NAME="uname">
   <BR>
    메 일 : <INPUT TYPE="text" NAME="mail">
  <BR><BR>
    <INPUT TYPE="submit" VALUE="전송">
    <INPUT TYPE="reset" VALUE="다시">
</FORM>
</CENTER>
</BODY>
</HTML>


출처 : http://blog.naver.com/sejinhom/120034777660


    수정됨

by 무념무상 | 2007/09/19 11:21 | 트랙백

이글루 블로그 테스트 포스트

다른 블로그로부터 트랙백을 받기 위한
테스트 포스트입니다.

by 무념무상 | 2007/09/18 20:37 | 트랙백(2)

◀ 이전 페이지다음 페이지 ▶