html을 조금 살펴 볼 필요가 있겠다.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
● form 요소
웹 페이지에서는 form 요소를 사용하여 사용자로부터 입력을 받을 수 있습니다.
또한, 사용자가 입력한 데이터를 서버로 보낼 때에도 form 요소를 사용합니다.
form 요소는 다음과 같은 문법으로 사용합니다.
action 속성은 입력받은 데이터를 처리할 서버 상의 스크립트 파일의 주소를 명시합니다.
이렇게 전달받은 데이터를 처리하는 스크립트 파일을 폼 핸들러(form-handler)라고 합니다.
method 속성은 입력받은 데이터를 서버에 전달할 방식을 명시합니다.
따라서 사용자가 form 요소를 통해 입력한 데이터는 action 속성에 명시된 위치로 method 속성의 방식을 통해 전달됩니다.
● method 속성
method 속성을 통해 명시할 수 있는 form 요소의 전달 방식은 GET 방식과 POST 방식으로 나눠집니다.
GET 방식은 주소에 데이터(data)를 추가하여 전달하는 방식입니다.
데이터가 주소 입력창에 그대로 나타나며, 전송할 수 있는 데이터의 크기 또한 제한적입니다.
따라서 검색 엔진의 쿼리(query)와 같이 크기가 작고 중요도가 낮은 정보를 보낼 때 주로 사용합니다.
POST 방식은 데이터(data)를 별도로 첨부하여 전달하는 방식입니다.
데이터가 외부에 드러나지 않으며, 전송할 수 있는 데이터의 크기 또한 제한이 없습니다.
따라서 보안성 및 활용성이 GET 방식보다 좋습니다.
● input 요소
1. 텍스트 입력(text)
2. 비밀번호 입력(password)
3. 라디오 버튼(radio)
4. 체크박스(checkbox)
5. 파일 선택(file)
6. 선택 입력(select)
7. 문장 입력(textarea)
8. 버튼 입력(button)
9. 전송 버튼(submit)
10. 필드셋(fieldset)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
아래와 같은 html 문서가 있다고 할 때 action 부분의 request.php로 method가 post이므로 정보를 보낸다라고 보면된다.
그럼 submit 버튼으로 보내어진 정보는 request.php로 가공할 수 있게 된다.
이렇게 말이다.
이 때 html에서 php로 보낼 때는 get과 post로 데이터를 문자열로 담아 보낼 수 있다.
다만 get은 주소에 데이터를 실어서 보내므로 당연히 보안에 취약할 수 있게 되겠다.
예를 들면 vue로 영화사이트를 만들 때 영화 품번을 url로 담아서 보냈던 것처럼 말이다.