- 4월 21일(목)
- Flexbox 사용해봤나요? 사용해봤다면 어떻게 사용했나요?
- css margin, padding 각각 어떻게 사용하며, 차이점은 무엇인지 설명해보세요
- position을 어떻게 적용했는지 설명해보세요
- Restful API에 대해서 아는대로 설명해보세요
- http와 https의 차이에 대해 아는대로 설명해보세요
- 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와 같은 툴로 요청 내용을 확인할 수 있기 때문에 민감한 데이터의 경우에는 반드시 암호화해 전송해야 합니다.