티스토리 뷰

PHP

PHP - GET vs POST

오이연우오 2022. 4. 16. 22:58

폼의 데이터를 입력하후 버튼을 클릭하게 되면 서버의 데이터가 전송하게 되는데 이 과정에 전송 방식을 지정할 수 있습니다. 전송 방식을 알기에 앞서 간단한 서버와 사용자 간에 처리 과정을 알아야 됩니다

서버와 사용자 간의 요청과 응답이 이루어지게 되는데 이것을 HTTP라는 프로토콜이라고 합니다.

사용자가 서버에 요청에 사용되는 전송 방식이 여러 가지가 있으며, 전송 방식 중 대표적으로 GET 방식과 POST 방식으로 나뉘게 됩니다.

 

 

Get은 가져온다는 개념이고, Post는 수행한다는 개념으로 받아들이면 쉽습니다.

 

즉, Get은 서버에서 어떤 데이터를 가져와서 보여줄때 사용합니다. 어떤 값이나 내용, 상태등을 바꾸지 않는 경우에 사용을 하는것입니다.
이에비해, Post는 서버상의 데이터 값이나 상태를 바꾸기 위해서 사용합니다.

게시판으로 예를 들자면, 글의 내용에 대한 목록을 보여주는 경우나, 글의 내용을 보는 경우는 Get에 해당합니다.
그리고 글의 내용을 저장하고, 수정할때에 Post를 사용하는 것이죠.

 

GET

GET method는 클라이언트에서 서버로 어떠한 리소스로 부터 정보를 요청하기 위해 사용되는 메서드입니다.​

 

좀 더 쉽게 말하자면, 데이터를 읽거나(Read), 검색(Retrieve)할 때에 사용되는 method라고 할 수 있겠네요.

GET은 요청을 전송할 때 URL 주소 끝에 파라미터로 포함되어 전송되며, 이 부분을 쿼리 스트링(QueryString) 이라고 부릅니다.

 

그리고 GET 요청은 오로지 데이터를 읽을 때만 사용되고 수정할 때는 사용하지 않습니다.
따라서 이런 이유로 사용하면 안전하다고 간주되죠. 즉, 데이터의 변형의 위험없이 사용할 수 있다는 뜻입니다.

 

POST

POST method는 리소스를 생성/업데이트하기 위해 서버에 데이터를 보내는 데 사용됩니다.

 

GET과 달리 전송해야될 데이터를 HTTP 메세지의 Body에 담아서 전송합니다.
그리고 그 Body의 타입은 요청 헤더의 Content-Type에 요청 데이터의 타입을 표시 따라 결정 된다.
(POST로 요청을 보낼 때는 해야 합니다.

HTTP 메세지의 Body는 길이의 제한없이 데이터를 전송할 수 있습니다. 그래서 POST 요청은 GET과 달리 대용량 데이터를 전송할 수 있는 이유도 이 때문입니다.

 

Get과 Post의 리소스 전달 방식의 차이를 표현한 그림입니다.

'PHP' 카테고리의 다른 글

PHP - 연산자  (0) 2022.04.16
PHP - 문자열 처리 함수  (0) 2022.04.16
PHP - 관계연산자  (0) 2022.04.16
PHP - 변수  (0) 2022.04.16
PHP - 화면 출력  (0) 2022.04.16
댓글
© 2018 webstoryboy