GET메서드 & POST메서드

2021. 9. 21. 20:57네트워크

GET 메소드

 

정보를 조회하기 위한 메서드

가져오는 것(SELECT)

 

사용방법

  • URL의 끝에 '?'가 붙고, 요청 정보가 (key=value)형태의 쌍을 이루어 ?뒤에 이어서 붙어 서버로 전송한다.
  • 요청 정보가 여러 개일 경우에는 '&'로 구분한다.
  • Ex) www.urladdress.xyz?name1=value1&name2=value2

특징

  • URL에 요청 정보를 붙인다. - 요청 정보를 한 눈에 볼 수 있다. 
  • GET 요청은 캐시될 수 있고, brower history에 남는다 - post메서드 보다 빠르다.
  • GET 요청은 민감한 데이터 다룰때는 사용하지 않는다.
  • GET 요청은 길이 제한이 있다. - 한 번 요청 시 전송 데이터(주솟값 + 파라미터)의 양은 255자로 제한된다.(HTTP/1.1은 2048자)
  • GET 요청은 데이터 요청때만 사용할 수 있다.(수정X)

POST 메소드

서버의 값이나 상태를 바꾸기 위한 용도의 메서드

수행하는 것(Insert, Update, Delete)

 

사용방법

  • 요청 정보를 HTTP 패킷의 Body 안에 숨겨서 서버로 전송한다.
  • Request Header의 Content-Type에 해당 데이터 타입이 표현되며, 전송하고자 하는 데이터 타입을 적어주어야 한다. - form을 이용해 submit
    • Default: application/octet-stream
    • 단순 txt의 경우: text/plain
    • 파일의 경우: multipart/form-date
POST /test/demo_form.php HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2

특징

  • Body 안에 숨겨서 요청 정보를 전송한다. - 대용량의 데이터를 전송하기에 적합.
  • 전송 데이터의 길이 제한이 없다. 
  • 클라이언트 쪽에서 데이터를 인코딩하여 서버로 전송하고, 이를 받은 서버 쪽이 해당 데이터를 디코딩한다.
  • GET 방식보다 보안상 안전하다.
  • 캐시되지 않는다.

요약: GET은 가져오는 것, POST는 수행하는 것


출처

https://www.w3schools.com/tags/ref_httpmethods.asp

https://blog.outsider.ne.kr/312