2017년 6월 27일 화요일

[HTTP 프로토콜 강좌]#3 HTTP 요청 방식 GET,POST

HTTP 요청 방식(Request Method)에 대한 이야기를 좀 해보려 한다.
HTTP에는 좀 대표적으로 아래 4가지의 요청방식이 있다. 
  • GET
  • POST
  • PUT
  • DELETE

1. GET

GET 은 가장 단순하면서도 많이 쓰이는 HTTP 요청방식이다. 우리가 브라우저 주소창에 웹페이지 주소를 입력한 후 접속을 하게 되면 수많은 이미지,플래시,텍스트등이 보이는데.. 이때 사용되는 Method가 바로 GET이다. 

[네이버 접속화면]


아래는 브라우저의 개발자 툴을 이용하여 네이버 접속시 동작을 캡쳐한 화면이다. 
방법(Method) 이 모두 GET 으로 되어 있음을 확인할 수 있다. 


아래 그림처럼 보통 GET은 특정 URI 와 함께 서버로 전달이 된다. 

서버는 클라이언트로부터 URI 에 대한 GET 요청을 받으면, URI에 위치한 데이터를 "200 OK" 라는 응답코드와 함께 클라이언트로 전달한다. 

* URL와 URI 의 차이
이건 주저리 말로만 설명하기 보다는 다음 웹주소 가지고 설명하면 이해가 쉽다. 
http://www.test.com/search.jsp?keyword=test  가 있다고 치면.. 
URL은 http://www.test.com/search.jsp 이고
URI는 http://www.test.com/search.jsp?keyword=test 이다. 
즉, URL은 Location 이니까 특정 위치까지만... URI는 identifier 니까 식별할 수 있는 모든 정보를 포함한다고 생각하면 쉬울것 같다. 

클라이언트가 요청한 URI에 컨텐츠가 없으면 다른 응답코드를 전달한다. 응답코드에 대해서는 후에 다시 상세히 이야기 해보도록 하자. 


2. POST

GET과는 다르게 POST는 서버로 사용자의 데이터를 전달할 때 사용된다.
아래와 같이 다음에서 사용자가 입력한 정보를 검색해 본다고 하자. 


다음의 메인페이지 상단에 "국민여동생"이라는 키워드를 입력한 후 우측에 있는 돋보기 버튼을 클릭하면 다음은 검색결과를 사용자에게 전달해줄것이다. 
바로 사용자가 직접 입력한 키워드를 서버로 전달하려 할때 POST Method가 사용된다. 

  1. 검색포탈에 키워드 입력
  2. 게시판에 게시글 입력
  3. ID/PW 란에 사용자의 아이디 및 비밀번호 입력 
등등... 
모두 POST 를 이용하여 서버에게 데이터를 전달한다. 

아래는 다음에 로그인할때의 캡쳐 데이터이다. 개발자 툴에서 볼수 있듯이 로그인할때 ID와 패스워드를 POST 방식을 사용하여 서버로 전달함을 확인할 수 있다.



POST 의 동작방식을 정리하면 다음과 같다. 



GET과의 차이는 클라이언트가 서버로 DATA를 전달한다는 것에 있다. 

PUT과 DELETE는 다음 포스팅에서 이야기 해야겠다. 

이번 포스팅의 내용을 정리해 본다. 
  1. 우리가 웹브라우저를 이용하여 홈페이지를 접속할때, 대표적으로 GET, POST가 사용된다. 
  2. GET 은 웹서버가 준비해 놓은 컨텐츠를 단순히 요청할 때 사용되며, 요청하는 대상 URI 정보와 같이 서버로 전달된다. 
  3. POST는 사용자가 웹서버에 데이터를 전달하고자 할 때 사용되며, 요청하는 대상 URI 그리고 데이터가 같이  서버로 전달된다. 


댓글 없음:

댓글 쓰기