개발지식/네트워크

    [네트워크] 캐시와 조건부 요청

    [네트워크] 캐시와 조건부 요청

    캐시 기본 동작 캐시가 없는 경우 데이터가 변경되지 않았음에도 불구하고 요청할 때 마다 데이터를 다운로드 받아야한다. 이로 인해서 느린 사용자 경험을 가지게 된다. 캐시 적용 서버에서는 cache-control 속성을 사용해서 헤더에 캐시가 유효한 시간을 지정해 줄 수 있다. HTTP/1.1 200 OK Content-Type: image/jpeg cache-control: max-age=60 Content-Length: 12345 ajfksdjfiewji234k2j39f32jlf9... //데이터 내용 캐시를 사용하면 지정 시간동안 똑같은 데이터에 대해서 네트워크를 사용하지 않을수 있다. 이는 네트워크 사용량을 줄이고, 빠른 사용자 경험을 제공한다. cache-control 속성에서 지정한 시간이 지나..

    [네트워크] HTTP 헤더(1) - 헤더와 헤더의 종류, 전송방식, 쿠키

    [네트워크] HTTP 헤더(1) - 헤더와 헤더의 종류, 전송방식, 쿠키

    HTTP 헤더란? 용도 HTTP 전송에 필요한 모든 부가 정보 메시지 바디의 내용, 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보 등 Content-Type: text/html;charset=UTF-8 Content-Length: 1212 과거와 현재 Header의 구분 방식 1999년 - RFC2616 General 헤더, Request 헤더, Response 헤더, Entity 헤더로 구분되었음 2014년 - RFC7230~7235 등장 엔티티(Entity) 헤더 → 표현(Representatition) 헤더 + 표현 데이터 메시지 본문을 통해서 표현 데이터 전달 HTTP/1.1 200 OK Content-Type: text/html;charset=UTF-8 Content-Len..

    [네트워크] HTTP 상태코드란?

    상태코드란? 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려준다. 상태 코드는 3자리 숫자로 만들어져 있으며, 첫번째 자리는 1에서 5까지 제공된다. 상태 코드의 종류 1xx(정보) : 요청을 받았으며 프로세스를 계속 처리중 2xx(성공) : 요청을 성공적으로 받았으며 정상 처리 3xx(리다이렉션) : 요청 완료를 위해 추가 행동이 필요 4xx(클라이언트 오류) : 잘못된 문법으로 인해 서버가 요청을 수행할 수 없음 5xx(서버 오류) : 서버가 정상 요청을 처리하지 못함 모르는 상태코드가 나타난다면? 클라이언트는 상위 상태코드로 해석해서 처리하면 된다. 예를 들어서 클라이언트가 해석하지 못하는 599번 상태코드가 나타나면, 상위 상태코드인 5xx인 서버 오류로 해석하면 된다. 2xx 상태코드(Suc..

    [네트워크] HTTP 메서드 활용 - 데이터 전송방법

    [네트워크] HTTP 메서드 활용 - 데이터 전송방법

    클라이언트에서 서버로의 데이터 전송 데이터 전달 방식은 크게 2가지로 나뉜다. 쿼리 파라미터를 통한 데이터 전송 - GET, 주로 정렬 필터(검색어) 메시지 바디를 통한 데이터 전송 - POST, PUT, PATCH, 회원가입, 상품 주문, 등록, 변경 4가지 상황에 따른 데이터 전송 방법을 알아보자. 1. 정적 데이터 조회 이미지, 정적 텍스트 문서 등을 조회 GET을 사용하며, 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순 조회가 가능하다. 2. 동적 데이터 조회 검색, 게시판 목록에서 정렬필터를 사용하면 쿼리파라미터를 사용하게 된다. https://www.google.com/search?q=hello&hl=ko // 해당 주소로 요청 GET /search?q=hello&hl=ko HTTP/1.1..

    [네트워크] HTTP 메서드란?

    [네트워크] HTTP 메서드란?

    HTTP API 설계 HTTP API 설계에서 가장 중요한 것은 리소스의 식별이다. URI에는 리소스 단위만 포함하고, 리소스에 대한 행위는 메서드(조회, 등록, 수정, 삭제 등)로 분리해서 URI에 포함시키지 않는다. 리소스만으로 설계가 불가능한 경우 행위의 내용이 URI에 포함될 수 있다. 회원 목록 조회: /members 회원 단일 조회: /members/{id} 회원 등록: /members 회원 수정: /members/{id} 회원 삭제: /members/{id} URI는 리소스만 식별하고, 해당 리소스에 해당하는 행위를 메소드로 분리한다. HTTP 메서드 주요 메서드 GET: 리소스 조회 POST: 요청 데이터 처리, 등록에 사용 PUT: 리소스를 대체, 해당 리소스가 없을 경우 새로 생성 PA..

    [네트워크] - HTTP 메시지의 구조

    HTTP 메시지의 분류 HTTP 요청 메시지와 HTTP 응답 메시지로 구분한다. start-line 시작 라인 header 헤더 empty line 공백 라인(CRLF) message body HTTP 요청 메시지 예시 GET /search?q=hello&hl=ko HTTP/1.1 Host: www.google.com message body HTTP 응답 메시지 예시 HTTP/1.1 200 OK Content-Type: text/html;charset=UTF-8 Content-Length: 4432 message body HTTP 메시지의 구조 시작 라인 요청 메시지 GET /search?q=hello&hl=ko HTTP/1.1 요청 메시지에서는 시작 라인이 request-line 이라고 불린다. req..

    [네트워크] URI란?

    [네트워크] URI란?

    URI란? URI(Uniform Resource Identifier)란 인터넷 자원을 나타내는 고유 식별자이다. Uniform : 리소스를 식별하는 통일된 방식 Resource : 자원, URI로 식별할 수 있는 모든 것 Identifier : 다른 항목과 구분하는데 필요한 정보 URI가 가장 포괄적인 개념으로, URL과 URN으로 나뉜다. URL과 URN URL(Uniform Resource Locator) Locator : 리소스가 있는 위치를 지정 해당 자원의 위치, Path를 의미한다. 일반적으로 사이트 도메인을 자주 의미 URN(Uniform Resource Name) Name : 리소스에 이름을 부여 해당 자원의 이름을 의미한다 독립적인 자원 지시자 Page이후 부분까지 포함한다. URI의 분..

    [네트워크] IP(인터넷 프로토콜)란? TCP와 UDP

    [네트워크] IP(인터넷 프로토콜)란? TCP와 UDP

    IP의 역할 지정한 IP 주소에 데이터 전달 패킷(Packet)이라는 통신 단위로 데이터 전달 IP 통신 순서 1. 클라이언트 패킷 전달 출발지 IP와 목적지의 IP 정보가 들어있다. 전달하고자 하는 정보도 같이 들어 있음 중간에 있는 인터넷 노드들에서 서로 정보를 주고받다 보면서 서버에 있는 IP 주소에 도달하게 된다. 2. 서버 패킷 전달 클라이언트 패킷과 마찬가지로 패킷을 노드들 사이에서 주고받으면서 클라이언트 IP 주소에 도달하게 된다. IP 프로토콜의 한계 비연결성 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 비신뢰성 중간에 패킷이 사라질수 있음 : 중간의 노드에서 문제가 생기면 패킷이 유실 될 수 있다. 패킷이 순서대로 안올수 있음 : 여러개의 패킷을 보내는 경우 노드의 노선을 ..

    [네트워크] IP 와 서브넷 마스크

    [네트워크] IP 와 서브넷 마스크

    아이피(IP) IP란 인터넷에 연결되어 있는 모든 장치들을 식별할 수 있도록 각각의 장비에 부여되는 고유 주소이다. 아이피는 일반적으로 192.168.123.123과 같은 마침표로 구분된 4개의 숫자가 있는, 점으로 분리된 10진수 형식으로 표시된다. 2진수로 표현하면 각 자리마다 2^8의 숫자가 들어갈 수 있으며, 이를 1 옥텟이라고 한다. 즉, 아이피는 총 4옥텟(32bit)로 이루어진 주소이고, 약 43억개의 주소를 가진다. IP 주소 구성 요소 아이피는 네트워크 ID + 호스트 ID 로 구성된다. 네트워크 ID : 모든 호스트를 관리하기 힘들기 때문에 한 네트워크의 범위를 지정한 ID 호스트 ID : 각각의 호스트를 관리하기 위해 사용 192.168.123.456 과 같은 IP주소가 있을때 네트워..