728x90
반응형

ALL 632

HTTP ) 헤더2 - ( 캐시 , 조건부 헤더, 프록시캐시 )

캐시의 기본동작 캐시가 없는 경우• 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다. • 인터넷 네트워크는 매우 느리고 비싸다. • 브라우저 로딩 속도가 느리다. • 느린 사용자 경험  캐시가 있는 경우캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다. • 비싼 네트워크 사용량을 줄일 수 있다. • 브라우저 로딩 속도가 매우 빠르다. • 빠른 사용자 경험  캐시 유효시간이 초과한경우캐시 유효 시간이 초과하면, 서버를 통해 데이터를 다시 조회하고, 캐시를 갱신한다. • 이때 다시 네트워크 다운로드가 발생한다.     중요304 NOT Modified 로 응답을 보낸다.Http 바디가 없다       [ 검증 헤더와 조건부 요청 ] 검증 헤더 • 캐시 데이터와 서..

Java Spring 2025.02.12

HTTP ) 헤더 - ( 표현, 협상 , 일반정보 , 인증 , 쿠키 등.)

용도 • HTTP 전송에 필요한 모든 부가정보   예) 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보... • 표준 헤더가 너무 많음 • https://en.wikipedia.org/wiki/List_of_HTTP_header_fields• 필요시 임의의 헤더 추가 가능 예  )  gzip ,  deflate , identity협상  예시 )      일반 정보• From: 유저 에이전트의 이메일 정보 • Referer: 이전 웹 페이지 주소 • User-Agent: 유저 에이전트 애플리케이션 정보 • Server: 요청을 처리하는 오리진 서버의 소프트웨어 정보 • Date: 메시지가 생성된 날짜 From  유저 에이전트의 이메일 정보• 일반적으로..

Java Spring 2025.02.10

HTTP ) POST , PUT 정리

POST예시 : 회원관리 시스템 1. 클라이언트는 등록될 리소스의 URI를 모른다.-> 데이터를 서버로 보내면 서버가 알아서 데이터를 처리한다. 2. 서버가 새로 등록된 리소스 URI를 생성해준다.3. 컬랙션 관리방식  - 서버가 관리하는 리소스 디렉토리  - 서버가 리소스의 URI를 생성하고 관리  PUT예시 : 파일관리 시스템 1. 클라이언트는 리소스 URI를 알고 있어야 한다.-> 클라이언트가 등록될 데이터의 URI를 알고 등록, 관리 하는 것  2. 클라이언트가 직접 리소스의 URI를 지정한다.3. 스토어 관리방식   - 클라이언트가 관리하는 리소스 저장소   - 클라이언트가 리소스의 URI를 알고 관리

Java Spring 2025.02.10

HTTP ) 메서드 GET,POST, PUT,PATCH, DELETE

좋은 URI 설계 부터 시작한다. 좋은 URI 설계는 리소스를 식별하는게 중요하다. 회원관리 기능을 기준으로 해보자조회, 등록, 수정, 삭제 기능이 있따고 가정한다.  회원 목록조회   /members회원 조회 /members/{id}   => 어떻게 구분하지..?회원 등록 /members/{id}   => 어떻게 구분하지..? 회원 수정 /members/{id}   => 어떻게 구분하지..?회원 삭제 /members/{id}   => 어떻게 구분하지..? URI가 모두 같은데 어떻게 기능을 구분할까..??=> HTTP 메서드를 행위를 분리 한다.  GETPOST 클라이언트 : 서버 !너한테 정보를 줄테니까, 서버 너가 데이터를 처리해줘 !( 메세지 바디를 통해 데이터를 전달하여, 처리를 요청 )  생성..

Java Spring 2025.02.06

HTTP 란? , Stateful, Stateless, 비연결성

HTTP ( HyperText Transfer Protocol )  * TCP를 직접 연결해서 쓰는 경우는 드물다 ( ex.  게임서버 등 - 심지어 모바일 게임에서도 Http로 통신하는 경우도 있다. )* 대부분 버전은 Http/1.1 버전을 주로 사용  ( TCP: HTTP/1.1 , HTTP/2 ,     UDP : HTTP/3  )      * 클라이언트와 서버를 분리해서 보는 것이 중요( 비지니스 로직, 데이터는 서버 ,  UI 사용성은 클라이언트가 담당 )=> 각각 독립적으로 진화를 할 수 있다.  무상태 프로토콜 ( Stateless ) 예시 )  이제 무상태의 예시를 보자    비연결성 ( connectionless ) TCP /IP 는 기본적으로 연결유지를 기본으로 한다. 클라언트 1,2..

Java Spring 2025.02.04

HTTP) TCP / UDP?

IP를 가지고 통신을 하면서,  패킷이 꼬이는 순간,  먼저 도착해야할 것이 나중에 도착하거나, 유실되는 경우가 있다.=> 이 부분을 해결하고자 TCP / UDP 가 있다.  먼저 프로토콜 계층을 보자 Hello 라는 메세지를 전송하는 과정     연결지향 -> 연결을 한 이후 연결을 확인한 후 데이터 전송3. Ack 로 연결을 확인함. ( 요즘은 Ack 할때 데이터를 함께 보낸다 ) 데이터 전송시 서버에서 응답을 준다.   * 그래서 TCP를 신뢰할수 있는 통신 프로토콜이라고 한다       * 대부분 90 퍼센트이상 TCP가 사용되지만,  Http3 가 나온이후로 직접 구현해서 사용할수 있는 UDP도 각광을 받고 있다.

Java Spring 2025.02.04
728x90
반응형