GET, POST 차이점
GET
|
POST
|
어떠한 정보를 서버로 전송할 때, URL 뒤에 ?(물음표)를 붙이고, 데이터를 기술해서, 서버쪽으로 전송하는 방식 입니다. |
데이터를 표시하지 않고 데이터를 서버쪽으로 전송을 합니다. |
쉽게 말해서, URL상에 서버로 보내는 데이터가 포함이 되어 있다라는 것이다.!!!!!!!!!!!!! |
|
|
URL에 데이터를 표시하지 않고 어떻게 데이터를 보낸는 것이 가능하냐면, 이유는,
Server와 client가 커뮤니케이션을 할 때, 사용하는 "프로토콜"이 http라고 하는 것을 열어 봐야 합니다.
실제로 "프로토콜"이 http라는 프로토콜을 열어 봐야지만, 실제로 post방식으로 데이터를 전송하는 흐름이 보이기 때문에, 우리가 "http프로토콜"라는 것의 내부도, 살짝 알아야 합니다,
밑에 글 읽기
|
우리는 2개의 애플리캐이션을 가지고 있습니다.
html , php
html파일은 전송하는 파일이고,
php파일은 전송된 데이터를 수신하는 파일입니다.
GET 형태 | POST 형태 |
보내는 곳(html) 설명-> method : 데이터 방식 |
보내는 곳(html) |
받는 곳(php) |
받는 곳(php) |
POST 방식으로 전송을 하면 좋은점
- 실제로 데이터가 어디로 들어가는게 감쳐집니다. - 보안성이 좋습니다. - 근데 솔직히 POST랑 GET은 차이 있긴한데, 별루 차이 없음. |
|
POST방식이 어떻게 돌아 가는지 알기 위해서,
http프로토콜을 내부를 살펴 보겠습니다.
왜냐하면,
POST방식이 데이터를 전송을 할 때는,
http프로토콜 내부적으로 동작을 하고 있기 때문입니다.
Fiddler 라는 프로그램을 사용해서 알아보겠습니다 (그냥 알아 볼려고 사용하는 프로그램임.)
Fiddler프로그램가 하는 역할은
서버와 클라이언트 사이에 주고받는
통신의 내용을(우리는 지금 웹을 보고 있기 때문에, 그 통신은 "http" 통신 약속을 따르고 있음)
볼 수 있습니다.
Fiddler프로그램를 사용하는 이유는
HTTP프로토콜 그대로를 그대로 보여주기 위해서,
Fiddler프로그램을 해보는 겁니다,
사용해보겠습니다. (보기만,,,)
1.
클릭
2.
프로그램을 크게해서 보면
3.
client와 server가 교신 할 때, 사용하는 약속이 "프로토콜"이라는 것이고,
이것들이 사용하는 구체적인 것은 "http프로토콜"을 사용하는 것입니다.
그리고 위에 그림 처럼
Server는 client가 보낸 메시지를 받은 다음에,
Server도 메시지를 보내 줍니다. (일단, 그냥 메시지를 보낸 다라는 것만 알아둬,,,)(아래 그림)
4. 이제 안에 있는 내용이 뭔지.
그리고 아마 여러분들이,
"트래픽 분석하는 프로그램들"을 보실 수가 있는데요,
그 "트래픽 분석하는 프로그램들"이 이 사이트에 접속하는 브라우저의 종류 몇 퍼센트, 각각의 비율, 등
그런 것들을 통계 낼 수 있는 이유는
위에 있는 사진에 있는 정보를 client가
Server로 전송하기 때문입니다.
그리고 위에 사진에 있는 client에 있는 정보들을 다 알필요는 없습니다.!!!!!
"웹서버"가 "client"에게 어떤 메시지를 보내주는지 살펴 보겠습니다,
"웹서버"쪽 설명 ->
HTTP/1.1 -> "HTTP/1.1버전으로 응답 하겠다" 라는 것입니다.
200 -> 정상적으로 요청을 받았다라는 겁니다., 그리고 전상적으로 데이터를 보내주겠다라는 것입니다.
(만약에 client가 "웹서버"에게 요청을 했는데, 3.html이라는 파일이 존재하지 않으면, 200이 아니라 404가 뜹니다.)
Server : Apache -> 응답한 서버가 Apache라는 것입니다. (지금 어떤 서버가 동작하는지 알게 된겁니다.)
이 상태에서 "질의 보내기" 클릭을 하면
설명 -> 추가가 되었습니다. (4.php가 추가 되었습니다.)
즉, 브라우저가 submit버튼을 눌렀을 때,
서버로 데이터를 전송하는데, 4.php라고하는 php애플리케이션으로 데이터를 전송을 했다는 뜻입니다.
그러면 Server와 Client 사이에 어떤 통신을 하는지 내용을 보겠습니다(밑에 그림)
위에 있는 상태에서 이제는,
Server가 "php엔진"이 제공해준 결과와 HTTP정보를 결합해서,
HTTP응답메시지를 만들어내고,
그것을 client에게 전송을 합니다.
그러면 client인 브라우저는 정보를 받아서 화면에 출력을 해줍니다.
그래서 밑에 있는 화면이 출력되게 되는 겁니다!!
'■ PHP > Study1' 카테고리의 다른 글
[PHP] if 사용법, 논리 연산자(and,or) 사용법, !(not) 사용법, 번외 (0) | 2020.05.04 |
---|---|
[PHP] POST방식, GET방식 차이 (0) | 2020.05.04 |
[PHP] "입출력" 그리고 "폼"과 "HTTP" - 2 ★ (0) | 2020.05.04 |
[PHP] "입출력" 그리고 "폼"과 "HTTP" - 1 ★ (0) | 2020.05.04 |
[PHP] 가변변수,비교 - 작성법 (0) | 2020.05.04 |