네트워크

    [HTTP 웹 기본지식] 8. HTTP 헤더 - 캐시와 조건부 요청

    8. HTTP 헤더2 - 캐시와 조건부 요청 캐시 기본 동작 캐시가 없을 때 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드받아야 한다 인터넷 네트워크는 매우 느리고 비싸다 브라우저 로딩 속도가 느리다 느린 사용자 경험 캐시 적용 cache-control: max-age=60 (캐시가 유효한 시간(초)) 같은 요청이 들어오면 캐시 유효 시간 검증 → 캐시에서 데이터를 읽어 온다 캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다 비싼 네트워크 사용량을 줄일 수 있다 브라우저 로딩 속도가 매우 빠르다 빠른 사용자 경험 캐시 유효 시간 검증 → 캐시 시간 초과 → 다시 요청, 서버에서 star.jpg 응답 캐시 시간 초과 캐시 유효 시간이 초과하면 서버를 통해 데이터를 다시 조..

    [HTTP 웹 기본지식] 7. HTTP 헤더 - 일반 헤더

    [HTTP 웹 기본지식] 7. HTTP 헤더 - 일반 헤더

    7. HTTP 헤더 - 일반헤더 HTTP 헤더 개요 header-field = field-name “:” OWS field-value OWS file-name은 대소문자 구분이 없음 용도 HTTP 전송에 필요한 모든 부가정보 예) 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보.. 표준 헤더가 너무 많음 필요시 임의의 헤더 추가 가능 분류 - RFC2616 (과거) General 헤더: 메시지 전체에 적용되는 정보, 예)Connection: close Request 헤더: 요청 정보, 예) User-Agent: Mozilla/5.0 Response 헤더: 응답 정보, 예) Server: Apache Entity 헤더: 엔티티 바디 정보, 예) Con..

    [HTTP 웹 기본지식] 4. HTTP 메서드

    [HTTP 웹 기본지식] 4. HTTP 메서드

    4. HTTP 메서드 HTTP API를 만들어보자 API URI 고민 URI(Uniform Resource Identifier) 리소스의 의미? 회원을 등록, 수정, 조회하는 게 리소스가 아님 ex) 미네랄을 캐라 → 미네랄이 리소스 회원이라는 개념 자체가 리소스 리소스는 어떻게 식별? 회원을 등록 수정 조회 → 모두 배제 “회원”이라는 리소스만 식별 → 회원 리소스를 URI에 매핑 리소스와 행위를 분리 가장 중요한 것은 리소스를 식별하는 것 URI는 리소스만 식별 리소스와 해당 리소스를 대상으로 하는 행위를 분리 리소스: 회원 행위: 조회, 등록, 삭제, 변경 리소스는 명사, 행위는 동사 행위(메서드)는 어떻게 구분? HTTP 메서드 - GET, POST 주요 메서드 GET: 리소스 조회 POST: 요..

    [HTTP 웹 기본지식] 3. HTTP 기본

    3. HTTP 기본 HyperText Transfer Protocol HTTP 메시지에 모든 것을 전송 HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML (API) 거의 모든 형태의 데이터 전송 가능 서버간에 데이터를 주고 받을때도 대부분 HTTP 사용 HTTP 1.1 : 1997년, 가장 많이 사용, 우리에게 가장 중요 HTTP 1.1, 2 : TCP 기반, HTTP3: UDP 기반 http 특징 클라이언트 서버 구조 무상태 프로토콜(스테이트리스), 비연결성 HTTP 메시지 단순함, 확장 가능 클라이언트 서버 구조 Request Response 구조 클라이언트는 서버에 요청을 보내고 응답을 대기 서버가 요청에 대한 결과를 만들어서 응답 클라이언트와 서버를 개념적으로 분리 비즈니스 로..

    [네트워크] 12. 네트워크 프로그래밍

    12. 네트워크 프로그래밍 01 소켓의 주소 체계 소켓: 운영체제에서 제공하는 통신 프로토콜을 편리하게 사용할 수 있도록 도와줌 1. 소켓 주소 프로토콜 종류에 따라 다양한 방식으로 주소 부여 유닉스 주소 체계 AF_UNIX 하나의 호스트 내부에서 실행되는 프로세스 사이의 통신 지원 파일 시스템의 경로명 기반 주소 체계 struct sockaddr_un { short sun_family; char sun_path[108]; }; sun_family: 유닉스 주소 체계, AF_UNIX 값 sun_path: 소켓을 구분하는 주소, 파일 시스템의 경로명 기록 인터넷 주소 체계 서로 다른 호스트에서 실행되는 프로세스 사이의 통신 지원 AF_INET로 표시 소켓이 생성되는 호스트의 IP 주소와 포트 번호를 조합하..

    [네트워크] 11. 상위 계층

    [네트워크] 11. 상위 계층

    11. 상위 계층 01 상위 계층의 이해 상위 세 계층=세션, 표현, 응용 계층은 일반적으로 하나의 프로그램으로 묶여 구현 응용 환경의 요구 조건에 따라 복잡도가 달라짐 02 세션 계층 응용 환경에서 전송 계층이 제공하는 서비스를 손쉽게 이용하기 위해 사용자의 논리적 관점을 고려하여 단순한 사용자 인터페이스를 제공 1. 세션 계층의 기능 세션 계층 프로토콜 기능: 세션 연결의 설정과 해제, 세션 메시지 전송 등 세션 연결: 응용 환경에서 두 응용 프로세스 간의 세션을 설정하기 위해 만듦 세션 연결과 계층 4 연결의 차이 세션 연결: 계층 4 연결이 끊겼을 때 이를 복구하여 이전에 다운로드한 내용 이후부터 연속해서 전송 받을 수 있는 기능 제공 동기(Synchroniation) 문제 처리 - 통신 양단에서..

    [네트워크] 10. 전송 계층

    [네트워크] 10. 전송 계층

    10. 전송 계층 UDP 프로토콜 UDP: User Datagram Protocol, 인터넷에서 사용하는 프로토콜 중 구조가 가장 간단 IP 프로토콜을 이용해 비연결형 서비스 지원 특징 비연결형 서비스 제공 헤더와 전송 데이터에 대한 체크섬 기능 제공 Best Effort 전달 방식 지원 cf. 체크섬 기능: IP 프로토콜은 데이터에 대한 변형 오류의 검출 기능x, 데이터 공간에 UDP 프로토콜의 헤더와 데이터가 캡슐화 cf. Best Effort: UDP는 IP 프로토콜에 전송한 데이터그램이 목적지까지 제대로 도착했는지 확인하지 않음 → TCP보다 신뢰성이 떨어진다 TCP보다 데이터 처리는 빠름 → 데이터 전송 시간에 민감한 응용 환경에서 유리 1. UDP 헤더 구조 Source Port/Destina..

    [네트워크] 9. TCP 프로토콜

    [네트워크] 9. TCP 프로토콜

    9. TCP 프로토콜 01 전송 계층의 기능 전송 계층: 데이터 링크 계층과 특징 유사 데이터 링크 계층: 물리적인 전송 선로로 직접 연결된 두 물리적 호스트(컴퓨터나 라우터) 사이의 데이터 전송 담당 전송 계층: 네트워크 끝단에 위치하는 통신 주체가 중간의 논리적인 선로(라우터로 연결된 컴퓨터 네트워크)를 통해 데이터를 주고받음 ** 네트워크에서는 시간 지연 현상의 처리가 중요 네트워크를 통해 데이터를 전송할 때 송수신 호스트 사이에 전송 지연 발생 → 중간 네트워크가 전송 과정에서 데이터를 보관하는 효과 발생 네트워크는 입출력 사이에 시간 지연을 주니까 논리적으로 기억 장치의 기능을 함 → 네트워크 = 잠재적 기억장치 1. 전송 계층의 주요 기능 흐름 제어 양 끝단의 송수신 호스트에서 실행되는 네트워..

    [네트워크] 8. 네트워크 계층

    [네트워크] 8. 네트워크 계층

    8. 네트워크 계층 01 IPv6 프로토콜 현재의 IP 프로토콜은 32비트의 주소 공간 지원 → 이론 상으로 최대 $2^{32}$개의 호스트를 수용 IPv6: 호스트의 주소 공간 대폭 확장 주요 변경 사항 주소 공간 확장 주소 표시 공간: 32비트 → 128비트 이론적으로 $2^{128}$개까지 지원 유비쿼터스 장비(개인이 무선으로 연결)가 보급되는 환경에도 쉽게 대처 헤더 구조 단순화 불필요한 필드 제외, 확장 헤더 형식 과도한 오류 제어와 같은 오버헤드를 줄여 프로토콜의 전송 효율을 높임 흐름 제어 기능 지원 흐름 제어 기능 지원 필드(Flow Label) 도입 → 일정 범위 내에서 예측 가능한 데이터 흐름 지원 하나의 연속 스트림으로 전송해야 하는 연관 패킷의 전송 기능 지원 멀티미디어 응용 환경 ..

    [네트워크] 7. IP 프로토콜

    [네트워크] 7. IP 프로토콜

    7. IP 프로토콜 01 네트워크 계층의 기능 기본 기능: 송수신 호스트 사이의 패킷 전달 경로를 선택하는 라우팅 주요 기능 라우팅: 송수신 호스트 사이의 패킷 전달 경로 선택 혼잡 제어: 혼잡(네트워크에 패킷 수가 과도하게 증가) 현상을 예방하거나 제거 패킷의 분할과 병합 패킷 분할: 큰 데이터를 여러 패킷으로 나누는 과정 패킷 병합: 목적지에서 분할된 패킷을 다시 모으는 과정 1. 연결형 서비스와 비연결형 서비스 비연결형 서비스 패킷들이 독자적인 경로로 수신 호스트까지 전송 패킷의 전달 순서, 패킷 분실 여부 등에서 연결형 서비스보다 신뢰성이 떨어짐 자체적으로 오류 제어와 흐름 제어 기능을 더 많이 수행해야 함 패킷이 도착하는 순서가 일정x → 전송 계층은 수신한 패킷의 순서를 재조정 ex. IP 프..

출처: https://gmnam.tistory.com/157 [Voyager:티스토리]