본문 바로가기

전체 글

(47)
HTTP header 2 - 검증 헤더와 조건부 요청 캐시 만료 후에도 서버에서 데이터가 변경되지 않은 경우다시 클라이언트로 데이터를 전송하는 방법 대신 저장해두었던 로컬 캐시를 재사용하는 방법단, 클라이언트의 데이터와 서버의 데이터가 같다는 사실을 확인해야 함캐시 유효 시간이 초과해도 서버의 데이터가 갱신되지 않았다면 304 Not Modified + 헤더 메타 정보만 응답(바디X)클라이언트는 서버가 보낸 응답 헤더 정보로 캐시 메타 정보 갱신클라이언트는 캐시에 저장되어 있는 데이터를 재활용결과적으로 네트워크 다운로드가 발생하지만 용량이 적은 헤더 정보만 다운로드하면 되므로 비용 절감검증 헤더캐시 데이터와 서버 데이터가 같은지 검증하는 데이터Last-Modified, ETag조건부 요청 헤더검증 헤더로 조건에 따른 분기If-Modified-Since : ..
HTTP header 1 - 일반헤더 HTTP 헤더header-field = field-name ":" OWS field-value OWS (OWS:띄어쓰기 허용)HTTP 전송에 필요한 모든 부가 정보메시지 바다의 내용/크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보, ...수많은 표준 헤더가 존재하며 필요시 임의의 헤더를 추가할 수 있음2014 RFC723X 이후 Entity 개념 대신 Representation 개념 등장Representation = Representation Metadata + Representation DataRepresentation은 요청이나 응답에서 전달할 실제 데이터message body를 통해 Representation Data 전달message body = payloadmessage h..
쿠키와 웹 캐시 쿠키 (Cookie)서버가 웹 브라우저에 이용자의 상태를 유지하기 위해 정보를 저장사용자 인증 목적 HTTP는 무상태(Stateless) 프로토콜 - 클라이언트와 서버가 요청과 응답을 주고 받으면 연결 해제 그 다음 요청에 서버는 이전 요청을 기억하지 못함 쿠키 저장소에 쿠키가 저장되면 모든 요청에 쿠키 정보 자동 포함 그러나 모든 요청에 쿠키를 포함하게 되면 보안 상의 문제를 일으킬 수 있으므로 이를 제약하는 방법이 존재사용set-cookie: sessionId=abcde1234; expires=Thu, 26-Dec-2024 00:00:00 GMT; path=/; domain=.google.com; Secure사용자 로그인 세션 관리, 광고 정보 트래킹에 많이 사용쿠키 정보는 항상 서버에 전송됨네트워..
브라우저의 개념과 동작 과정 브라우저의 개념사용자가 요청한 정보를 서버에 요청하고 이 결과를 표시하는데 사용되는 소프트웨어 프로그램W3C(World Wide Web Consortium, 웹 표준화 기구)의 표준 명세에 따라 HTML을 해석하고 표시브라우저의 구성요소사용자 인터페이스홈 버튼, 이전/다음 버튼, 주소창, 북마크 등브라우저 엔진사용자가 주소창에 입력한 URL을 렌더링 엔진에 전달사용자 인터페이스와 렌더링 엔진 간의 통친 처리새로고침, 뒤로가기 등으의 사용자 요청에 응답하기 위해 렌더링 엔진을 제어렌더링 엔진브라우저 엔진의 일부분사용자 요청한 웹페이지를 화면에 구현하는 역할HTML, CSS, JavaScript 등의 리소스를 분석하고 HTML, CSS를 파싱웹페이지의 변경사항을 효율적으로 처리하기 위해 자료구조를 생성브라우..
CSR(클라이언트 사이드 렌더링)과 SSR(서버 사이드 렌더링) CSR(Client Side Rendering) 사용자가 웹사이트에 방문하면 브라우저에서 서버에 콘텐츠를 요청하고, 서버로부터 받은 HTML, CSS, JavaScript 등의 페이지 리소스를 클라이언트 측에서 렌더링하는 방식 서버는 단지 빈 HTML과 JavaScript 링크를 보내주는 역할 클라이언트에서 JavaScript 코드를 통해 동적으로 DOM을 생성하여 화면을 그리는 역할 사용자가 웹 사이트를 방문하면 브라우저는 프론트엔드 서버에 페이지 요청 프론트엔드 서버는 뼈대만 있는 HTML 파일과 JS, CSS파일 클라이언트에 전달 HTML 파일을 파싱하면서 태그에 도달하면 연결된 JS 파일을 다운로드, 이때 사용자는 빈 화면만 볼 수 있음 JS파일이 다운로드되면 브라우저에서 JS가 실행되면서 DOM..
HTTP Status Code 상태코드 상태 코드(Status Code) : 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx (Informational) : 요청이 수신되어 처리중 거의 사용하지 않음 2xx (Successful) : 요청 정상 처리 200 OK : 요청 성공 201 Created : 요청 성공해서 새로운 리소스가 생성됨 202 Accepted : 요청이 접수되었으나 처리가 완료되지 않음 ex) 요청 접수 후 1시간 뒤 배치 프로세스가 요청을 처리 204 No Content : 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음 ex) 웹 문서 편집기에서 save 버튼을 눌렀을 때 화면상에서는 아무 반응이 없으나 204 메시지로 성공을 인식 3xx (Redirection) : 요청..
HTTP METHODS 2 클라이언트에서 서버로 데이터를 전송하는 방식 쿼리 파라미터를 통한 데이터 전송 GET 주로 정렬 필터(검색) 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 1) 정적 데이터 조회 - 쿼리 파라미터 미사용 이미지, 정적 텍스트 문서 조회는 GET 사용 정적 데이터는 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능2) 동적 데이터 조회 - 쿼리 파라미터 사용 쿼리 파라미터를 기반으로 정렬 필터해서 결과를 동적으로 생성 주로 검색, 게시판 목록에서 정렬 필터(검색어) 조회 조건을 줄여주는 필터, 조회결과를 정렬하는 정렬조건에 주로 사용 조회는 GET 사용 GET은 쿼리 파라미터를 사용해서 데이터 전달 3) HTML Form 데..
HTTP METHODS 주요 메소드 GET : 리소스 조회 POST : 요청 데이터 처리. 주로 등록에 사용 PUT : 리소스를 대체, 해당 리소스가 없으면 생성 PATCH : 리소스 부분 변경 DELETE : 리소스 삭제 기타 메소드 HEAD : GET가 동일하지만 메시지 부분을 제외하고 상태줄과 헤더만 반환 OPTIONS : 대상 리소스에 대한 통신가능 옵션(메서드)을 설명(주로 CORS에서 사용) CONNECT : 대상 자원으로 식별되는 서버에 대한 터널을 설정 TRACE : 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행 GET 리소스 조회 서버에 전달하고 싶은 데이터는 query를 통해 전달 메시지 바디를 사용해 데이터를 전달할 수 있지만, 지원하지 않는 곳이 많아서 권장하지 않음 POST 요청 데이터 처..