Language/└HTML, CSS

[HTML5/CSS] form태그의 전송 방식 GET과 POST의 차이점 | Yoon's Dev

Yooniron 2021. 5. 14. 20:25

 form태그의 전송 방식 GET과 POST의 차이점

 

 


HTTP

 

■ HTTP란?

HTTP(HyperText Transfer Protocol)

 

 W3 상에서 정보를 주고받을 수 있는 프로토콜이다.

HTTP 메서드에는 GET 방식과 POST 방식으로 정보를 주고받을 수 있다.

 


GET

 

■ GET

URL에 파라미터를 포함시켜서 요청하는 방식

 

  URL에 파라미터를 포함시킨다.

데이터를 헤더에 포함시켜 전송한다.

캐싱이 가능하다.

글자 수의 제한이 있다.

 

특징

  전송 속도가 POST 방식보다 빠르다

  데이터베이스에 대한 질의어 데이터와 같은 요청 자체를 위한 정보를 전송할 때 사용된다.

  데이터가 URL 뒤에 붙기에 보안이 매우 취약하다

 

1
2
3
4
5
6
7
<form action="" method="GET">
 
   텍스트를 입력하세요 :
 
    <input type="text" name="search">
     <input type="submit" value="전송">
</form>
cs

 

다음과 같이 Yoon's Dev를 입력하고 전송해보자.

 

위와 같이 URL을 보면 test.html? 이후에 데이터를 포함시킨 것을 확인할 수 있다.


 

POST

 

■ POST

 URL에 붙여 보내지 않고 Body에 데이터를 넣어서 보내는 방식

 

  클라이언트와 서버 간 인코딩하여 서버로 전송한다

 데이터를 Body에 포함시켜 전송한다.

   . Header Content-Type 필드 안에 데이터 타입을 명시하여야 한다

  전송할 데이터의 길이의 제한이 없다

 

특징

  복잡한 형태의 데이터를 전송할 때 유용하다.

  데이터베이스에 대한 갱신 작업과 같은 서버 측에서의 정보 갱신 작업을 원할 때 사용한다.

  입력한 데이터가 URL에 보이지 않으므로 보안에 GET방식보다 우수하다

 

1
2
3
4
5
6
7
<form action="" method="POST">
 
   텍스트를 입력하세요 :
 
    <input type="text" name="search">
     <input type="submit" value="전송">
</form>
cs

다음과 같이 Yoon's Dev를 입력하고 전송해보자.

 

 

다음과 같이 URL에 아무것도 뜨지 않는 것을 확인할 수 있다.