# TIL_2024_01_03

이종현·2024년 1월 3일
0

Today_I_Learned

목록 보기
116/145
post-thumbnail

Today 요약

  1. 책 읽기
  2. 강의 복습

1. What I Learned?

웹의 기초 책 읽기

HTTP 메서드

  • PUT, DELETE 메서드는 보안이 취약하다?

책에서는 PUT, DELETE 메서드가 웹사이트 조작의 위험이 있어 웹서버 측에서 대부분 사용할 수 없도록 설정한다는데, 이번 프로젝트에서 백엔드 개발자가 제공해주었던 api에는 PUT, DELETE가 들어있었다. 과연 보안이 취약한 게 맞는 걸까?

MDN 문서에도 안전함은 NO라고 되어 있다. 안전함이 보안상 취약한 것과 직접적인 연관이 있는 걸까?

안전함 (HTTP 메서드) - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN

해당 링크를 들어가보면 PUT, DELETE는 서버의 상태를 변화시킬 수 있기 때문에 안전하지 않다고 표현한다고 한다. 그렇다면 PUT, DELETE 요청을 할 때 적절한 권한을 가진 사람만이 요청을 보낼 수 있도록 보안적인 부분을 보완한다면 PUT, DELETE 사용으로 인해 무조건 보안이 취약하다고만은 이야기할 수 없지 않을까?

해당 링크에서는 POST 요청 또한 안전하지 않은 메서드에 들어간다. 이 또한 서버의 상태를 변경시키기 때문일 거라 생각한다. 하지만 POST 요청 없이 api를 어떻게 구성한단 말인가, 그것 또한 말이 안되는 부분이다. 그렇기 때문에 서버의 상태를 변경하는 메서드가 안전하지 않다고 해서 보안이 무조건 취약할 거라고 생각하는 건 안되고 그에 따라 적절한 인증 권한을 부여해서 보안을 강화하면 된다고 생각한다.

  • GET, POST의 차이?

GET을 이용해서 서버에 데이터를 보낼 때는 URL 뒤에 쿼리 스트링으로 데이터를 추가해서 보내기 때문에 웹사이트 열람 이력에 보낸 데이터가 남게 되는데,

POST를 이용해서 서버에 데이터를 보낼 때는 메세지 바디에 담아서 보내기 때문에 웹사이트 열람 이력에 보낸 데이터가 남지 않습니다.

따라서 로그인을 할 때는 사용자 데이터의 기밀성 유지를 위해 POST 메서드를 사용해 요청을 보냅니다. 그리고 브라우저에서 URL 요청으로 사용할 수 있는 최대 문자수는 대략 2000자 정도 이기 때문에 대량의 데이터 요청을 보낼 때도 POST 메서드를 사용해야 합니다.

클론 코딩 강의

FC vs VFC

children을 가지고 있는 컴포넌트의 타입은 FC 아닌건 VFC

Optimistic UI

  • 개념
Optimistic UI는 사용자의 행동에 대한 즉각적인 응답을 제공하는 사용자 인터페이스 디자인 패턴입니다.
이 방식에서는 서버의 응답을 기다리지 않고, 사용자의 작업이 성공할 것이라고 '낙관적으로' 가정하여 UI를 먼저
업데이트합니다.
이는 사용자 경험을 개선하고 애플리케이션의 반응성을 향상시키지만, 실패 시 적절한 오류 처리가 필요합니다.
  • 최근 경험

최근 프로젝트에서 좋아요 버튼을 눌렀을 때 바로 좋아요 개수가 카운팅되서 올라가는 기능을 구현하는데, 서버의 응답을 받아서 업데이트 되기까지 시간 차이가 존재했다. 그 부분을 리액트 쿼리의 refetch 메서드를 이용해서 최대한 바로 카운팅 될 수 있도록 구현했지만, 아무래도 서버에서 데이터를 받아와서 업데이트 해야 되기 때문에 약간의 딜레이가 존재했다. 만약 Optimistic UI에 관련된 내용을 그때 알고 있었다면 좋아요 기능에 적용해봤을 것 같다.

profile
데이터리터러시를 중요하게 생각하는 프론트엔드 개발자

0개의 댓글