본문 바로가기

CS/네트워크7

[Network] HTTP 캐시 관련된 헤더 [김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 학습 후 정리한 내용입니다.] 순서 캐시의 기본 동작 검증 헤더와 조건부 요청 if-Modified-Since + Last-modified 사용 검증 헤더와 조건부 요청 if-None-Match + Etag 사용 캐시와 조건부 요청 헤더 프록시 캐시 캐시 무효화 1. 캐시의 기본 동작 1) 캐시가 없을 때 클라이언트에서 서버로 star.jpg를 얻기 위해 첫번째 요청을 하게 되면, 1.1M의 용량을 갖는 응답을 받게 된다. 두번째 요청을 할 경우에는 똑같이 1.1M의 용량을 갖는 응답을 받는다. 위 그림과 같이 캐시가 없을 때는 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다. 인터넷 네트워크가 매우 느리고 비싸며 브.. 2023. 5. 17.
[Network] HTTP 일반정보, 쿠키에 관련된 헤더 [김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 학습 후 정리한 내용입니다.] 순서 HTTP 헤더의 용도 HTTP 헤더 - 일반 정보 HTTP 헤더 - 특별한 정보 쿠키 HTTP 헤더 - 쿠키 정보 1. HTTP 헤더의 용도 HTTP 전송에 필요한 모든 부가정보 ex) 메시지 바디 내용, 메시지 바디 크기, 압축, 인증, 요청, 클라이언트, 서버 정보, 캐시 관리 정보… 필요 시 임의의 헤더를 추가할 수 있다. ※참고 - 기존의 HTTP 표준이었던 RFC2616이 폐기되고 RFC723x가 등장했다. 기존에 사용하던 엔티티(Entity)라는 개념이 표현(Representation)으로 바뀌었고, 표현이라는 것은 (표현 메타데이터 + 표현 데이터)로 구성된다. 여기서 말하는 표현 데이터는 메시지 바.. 2023. 5. 17.
[Network] HTTP 상태코드 정리 [김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 학습 후 정리한 내용입니다.] HTTP 상태코드 HTTP 상태 코드란 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다. 대표적으로 5가지의 종류가 있으며, 첫 숫자가 뭘로 시작하느냐에 따라 의미가 달라진다. 1xx (Informational): 요청이 수신되어 처리중 2xx (Successful): 요청 정상 처리 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함 1xx (요청이 수신되어 처리중) 거의 사용하지 않으므로 생략한다. .. 2023. 5. 17.
[Network] HTTP 메서드와 활용 [김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 학습 후 정리한 내용입니다.] 순서 HTTP API 생성 HTTP 메서드 - GET, POST, PUT, PATCH, DELETE HTTP 메서드의 속성 클라이언트에서 서버로 데이터 전송 HTTP API 설계 예시 1. HTTP API 생성 회원 정보 관리 API를 만들자. 다음과 같은 요구사항이 있다. 회원 목록 조회 회원 조회 회원 등록 회원 수정 회원 삭제 API를 만들기 앞서 URI를 설계할 때 많은 개발자들은 다음과 같이 설계한다. 회원 목록 조회 /read-member-list 회원 조회 /read-member-by-id 회원 등록 /create-member 회원 수정 /update-member 회원 삭제 /delete-member 이렇.. 2023. 5. 13.
[Network] HTTP의 구조와 특징 정리 [김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 학습 후 정리한 내용입니다.] 순서 HTTP란? HTTP 특징 - 클라이언트 서버 구조 HTTP 특징 - Stateless HTTP 특징 - Connectionless HTTP메시지 1. HTTP란? HTTP(Hypertext Transfer Protocol)는 인터넷에서 웹 페이지를 전송하기 위해 사용되는 프로토콜이다. HTTP는 클라이언트와 서버 사이에서 데이터를 주고받는 데 사용되며, 대부분의 웹 사이트에서 사용된다. 요즘은 HTTP 메시지에 거의 모든 것을 전송한다. HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML (API) 거의 모든 형태의 데이터 전송 가능 서버 간 데이터를 주고 받을 때도 대부분 HTTP 사용 1... 2023. 5. 11.
[Network] 인터넷 네트워크 정리 [김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 학습 후 정리한 내용입니다.] 순서 인터넷 통신 IP TCP, UDP PORT DNS 1. 인터넷 통신 인터넷에서 컴퓨터 둘은 어떻게 통신할까? 만약, 클라이언트와 서버가 바로 옆에 있다면 케이블로 연결이 가능하다. 하지만, 클라이언트와 서버가 멀리 있다면, 인터넷 망을 통해서 메시지를 보내야 한다. 인터넷 망은 수많은 노드들로 이루어져 굉장히 복잡하기 때문에, 어떻게 넘어가는지 이해하려면 IP(인터넷 프로토콜)에 대해서 이해해야 한다. 2. IP(인터넷 프로토콜) 인터넷을 이용해서 메시지를 전달하기 위해서는 IP주소를 알아야 한다. 모든 컴퓨터는 자신의 IP주소가 있으며, 메시지를 보내고자 하는 컴퓨터의 IP주소를 알아내어 데이터를 보낼 수 있다.. 2023. 5. 10.