본문 바로가기

TIL/기술면접 대비11

브라우저의 작동방식 브라우저의 기본 구조 사용자 인터페이스 사용자가 접근할 수 있는 영역으로, URI를 입력할 수 있는 주소 표시줄, 이전/다음 버튼, 새로고침 버튼, 북마크 메뉴 등 페이지를 보여주는 창을 제외한 나머지 모든 부분 브라우저 엔진 사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어한다. Data Storage를 참조하며 로컬에 데이터를 쓰고 읽으면서 다양한 작업을 한다. 렌더링 엔진 웹 서버로부터 전달받은 자원을 웹 브라우저 상에 나타낸다. 예를 들어, 브라우저가 서버로부터 HTML 문서를 응답 받으면 렌더링 엔진의 HTML 파서와 CSS 파서에 의해 파싱(parsing)되어 DOM, CSSOM 트리로 변환되고 렌더 트리로 결합한다. 리 렌더 트리를 기반으로 브라우저가 웹 페이지를 나타낸다. 각 브라우저마다.. 2023. 8. 23.
CORS(Cross Origin Resource Sharing) 우선 cross-origin 에 대해 알아야 하는데, cross-origin이란 다음 세 가지 중 하나라도 다른 경우다. 프로토콜 도메인 포트 번호 cors란 보안적인 이유로 브라우저가 cross-origin HTTP 요청들을 제한하는데, 이 요청을 허락하기 위해선 서버에서 동의를 해줘야 한다. 이러한 허락을 구하고 거절하는 메커니즘을 cors라 부른다. 즉, 브라우저에 cross-orign 요청을 안전하게 할 수 있도록 해주는 메커니즘이다. 그렇다면 cross-origin 요청을 제한하는 이유는 무엇일까? 해당 요청을 제한하지 않는다면 모든 곳에서 데이터를 요청할 수 있게 되는데, 그러면 다른 사이트에서 원래 사이트를 흉내낼 수 있게 된다. 그러면 사용자가 로그인한 세션을 탈취할 수 있고, 악의적으로 .. 2023. 8. 22.
HTTP 메서드 자주 쓰이는 메서드 POST - 요청 데이터 처리, 주로 생성에 쓰임 바디를 통해 데이터를 전달하면 서버가 데이터를 처리하여 업데이트 조회를 하며 JSON으로 조회 데이터를 넘겨야 하는 등의 특이한 경우에는 GET을 대체 GET - 리소스 조회 전달하고 싶은 데이터는 주로 쿼리스트링을 써서 전달한다. 바디를 통해 전달할 수도 있지만 서버에서 따로 구성해야 하기 때문에 지원하는 곳이 많지 않아 권장 X POST를 사용해서 조회할 수도 있지만 GET은 캐싱이 가능하기에 유리하다. PUT - 리소스 덮어쓰기, 없으면 생성 데이터를 대체해야 하므로 클라이언트 리소스의 구체적인 전체 경로를 지정해서 보내줘야 한다. PATCH - 리소스 일부 변경 PATCH를 지원하지 않는 서버에서는 대신 POST를 사용할 수 있.. 2023. 8. 21.
Primary Key, Foreign Key 슈퍼키 해당 객체를 고유하게 식별할 수 있는 속성들의 집합 쉽게 말하면 중복되지 않는(유일성을 만족하는) 모든 요소들을 말한다. ex) 주민등록번호, 학번, 아이디+비밀번호 ... 후보키 슈퍼키 중 최소한의 갯수로 객체를 식별할 수 있는 키 ex) 주민등록번호, 학번 기본키(Primary Key) 후보키 중 유일성과 최소성을 만족하는 하나의 키 여러개가 가능하다면 그 중 하나만 기본키가 될 수 있다. 유일성을 만족해야 하므로 중복되선 안되고, 식별을 위한 키이기 때문에 null일 수 없다. 대체키 후보키 중 기본키를 제외한 나머지 키 외래키(Foreign Key) 다른 테이블의 기본키를 참조하여 조회할 수 있도록 연관관계를 만들기 위한 키이다. 외래키의 주인을 부모테이블, 외래키를 가지고 있는 테이블을 .. 2023. 8. 20.