본문 바로가기

http6

HTTP 캐시와 조건부 요청, 프록시 캐시 0. 개요 이번 게시물에서는 HTTP 캐시와 조건부 요청, 프록시 캐시에 대해 작성할 것이다. 해당 게시물을 보기 전, 아래 링크의 글을 보고 오는 것을 추천한다. (HTTP란?) 1. 캐시를 사용하지 않을 경우 우선 캐시가 무엇인지, 그리고 왜 사용되는지를 알기 위해서 우선 캐시를 사용하지 않을 경우 어떻게 되는지에 대해 알아보자. - 첫번째 요청 서버에서 star.jpg라는 이미지를 받기 위해 요청하고, 해당 이미지가 담긴 HTTP 메시지를 응답받는다. - 두번째 요청 한번 더 같은 이미지 요청을 하면, 다시 해당 이미지가 담긴 HTTP 메시지를 응답받는다. - 이렇게 데이터가 변경되지 않아도, 클라이언트는 네트워크를 통해서 데이터를 다운로드 받아야한다. -> 인터넷 네트워크는 느리고 비싸며, 브라우.. 2023. 1. 13.
HTTP 쿠키 0. 개요 이번 게시물에서는 HTTP 쿠키에 대해 작성할 것이다. 해당 게시물을 보기 전, 아래 링크의 글을 보고 오는 것을 추천한다. (HTTP란?) 1. 쿠키란? HTTP 쿠키란 서버가 클라이언트의 웹 브라우저에 전송하는 작은 데이터 조각이다. 이 쿠키로 사용자의 로그인 세션 관리, 광고 정보 트래킹 등을 관리하게 된다. 쿠키 정보는 항상 서버에 전송되기 때문에, 최소한의 정보만 사용해야 한다.(세션 id, 인증 토큰, ...) 참고로 보안에 민감한 데이터(주민번호, 신용카드 번호 등)은 저장하면 안된다! 쿠키를 사용하는 이유는 HTTP의 특징중 Stateless와 관련이 있는데, 아래에서 한번 살펴보자. 2. 쿠키 사용 이유 - 쿠키 미사용 - 먼저 클라이언트가 로그인을 하고, 그 후 시작 페이지로.. 2023. 1. 13.
HTTP 헤더 0. 개요 이번 게시물에서는 HTTP 헤더 대해 작성할 것이다. 해당 게시물을 보기 전, 아래 링크의 글을 보고 오는 것을 추천한다. (HTTP란?) 1. HTTP 헤더 HTTP 헤더는 HTTP 전송에 필요한 부가정보를 저장하는 곳이다. 메시지 바디의 내용 및 크기, 압축, 인증, 요청 클라이언트 정보 등등.. 수많은 표준 헤더가 존재한다. 이 게시물에서는 주로 사용하는 HTTP 헤더들에 대해 적어볼 예정이다. 우선 모든 HTTP 헤더의 양식은 아래와 같다. field-name ":" OWS field-value OWS (OWS는 띄어쓰기 허용이라는 뜻) + field-name은 대소문자를 구분하지 않는다. 2. 표현(Representation) HTTP표준이 RFC7230~7235로 변함에 따라, 기존.. 2023. 1. 13.
HTTP 상태코드 0. 개요 이번 게시물에서는 HTTP 상태코드 대해 작성할 것이다. 해당 게시물을 보기 전, 아래 링크의 글을 보고 오는 것을 추천한다. (HTTP란?) 1. 상태코드 HTTP 응답 메시지 중 시작라인 (start-line)에 오는 코드로서, 클라이언트가 보낸 요청의 처리 상태를 알려주는 기능을 뜻한다. 그 종류로는 - 1xx (Informational): 요청이 수신되어 처리중 - 2xx (Successful): 요청 정상 처리 - 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 - 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없는 경우 - 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함 여기서 .. 2023. 1. 12.
HTTP API 설계하는 법 0. 개요 이번 게시물에서는 HTTP API를 설계하는 법에 대해 작성할 것이다. 해당 게시물을 보기 전, 아래 링크의 글을 보고 오는 것을 추천한다. (HTTP란?) 1. 클라이언트에서 서버로 데이터 전송 우선 클라이언트에서 서버로 데이터를 전달하는 방식은 크게 2가지가 있다. - 쿼리 파라미터를 통한 데이터 전송 -> GET -> 주로 정렬 필터, 검색어 정보 담김 - 메시지 바디를 통한 데이터 전송 -> POST, PUT, PATCH -> 리소스 등록, 회원 가입, 리소스 변경 등등.. GET, POST, PUT, PATCH와 같은 HTTP 메서드에 대한 설명은 아래 게시글을 참고 바란다. (HTTP 메서드) 클라이언트에서 서버로 데이터를 전송하는 상황을 4가지로 나누어 볼 수 있다. 1) 정적 데.. 2023. 1. 12.
HTTP란?, HTTP 메시지 0. 개요 이 게시물에서는 HTTP에 대해 간단한 개념과 내용을 정리할 것이다. 사실 더 깊게 살펴봐야할 내용들이지만, 추후에 더 깊은 공부를 하여 작성할 예정이다. 1. HTTP란? HTTP는 HyperText Transfer Protocol의 약자로서, 인터넷에서 데이터를 주고 받을 수 있는 프로토콜을 말한다. 여기서 프로토콜은 규칙이라고 생각하면 된다. 즉, http 규칙을 지키므로서 모든 프로그램이 서로간에 정보를 교환할 수 있게 된다. HTML, TEXT, IMAGE, 음성, 영상, 파일, JSON, ... 등 거의 모든 형태의 데이터를 전송 가능하며, 서버간에 데이터를 주고 받을 때도 대부분 HTTP를 사용한다. 그만큼 중요한 개념이라고 할 수 있다. 2. 기반 프로토콜 HTTP/1.1, HT.. 2023. 1. 12.