스프린터스 #20 GET, POST

HR.lee·2022년 4월 22일
0

스프린터스

목록 보기
20/25
  • 4월 21일(목)
    1. Flexbox 사용해봤나요? 사용해봤다면 어떻게 사용했나요?
    2. css margin, padding 각각 어떻게 사용하며, 차이점은 무엇인지 설명해보세요
    3. position을 어떻게 적용했는지 설명해보세요
    4. Restful API에 대해서 아는대로 설명해보세요
    5. http와 https의 차이에 대해 아는대로 설명해보세요
    6. HTTP Method 중 GET, POST의 차이를 설명해보세요

GET과 POST!

GET과 POST의 공통점!

Get과 Post는 Http method 중 가장 많이 쓰이는 method라는 공통점이 있습니다.

Get 특징

  • GET은 불필요한 요청을 제한하기 위해 요청이 캐시될 수 있습니다.
  • 파라미터에 내용이 노출되기 때문에 민감한 데이터를 다룰 때 GET 요청을 사용해서는 안 됩니다.
  • GET 요청은 브라우저 기록에 남습니다.
  • GET 요청을 북마크에 추가할 수 있습니다.
  • GET 요청에는 데이터 길이에 대한 제한이 있습니다.
  • Get 요청은 성공시, 200(Ok) HTTP 응답 코드를 XML, JSON뿐만 아니라 여러 데이터(html, txt등..), 여러 형식의 데이터와 함께 반환합니다.
  • GET 요청은 idempotent합니다.

Post 특징

  • POST 요청은 캐시되지 않습니다.
  • POST 요청은 브라우저 기록에 남아 있지 않습니다.
  • POST 요청을 북마크에 추가할 수 없습니다.
  • POST 요청에는 데이터 길이에 대한 제한이 없습니다.
  • Post 요청 중 자원 생성은 201(Created) HTTP 응답 코드를 반환합니다.
  • Post 요청은 idempotent하지 않습니다.

Idempotent : 멱등성이란?

idempotent : 멱등성, 수학이나 전산학에서 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미합니다.

GET은 idempotent / POST는 Non-idempotent

GET은 idempotent한 설계원칙에 따라 서버의 데이터나 상태를 변경시키지 않아야 Idempotent하기 때문에 주로 조회를 할 때에 사용됩니다.

POST는 Non-idempotent하기 때문에 서버에게 동일한 요청을 여러 번 전송해도 응답은 항상 다를 수 있습니다. 이에 따라 POST는 서버의 상태나 데이터를 변경시킬 때 사용합니다.
POST 요청은 body안에 담아보내서 좀더 보안성이 좋긴 하지만, 크롬의 개발자 도구, Fiddler와 같은 툴로 요청 내용을 확인할 수 있기 때문에 민감한 데이터의 경우에는 반드시 암호화해 전송해야 합니다.

profile
It's an adventure time!

0개의 댓글