인터넷에서 컴퓨터 둘은 어떻게 통신할까? 인터넷은 복잡하다. 다양한 노드들로 구성되어있다. 그중에서 아무것도 없이, 내가 원하는 노드만을 골라 원하는 서버에 가는 것은 매우 힘들 것이다. 이를 해결해주기 위해 IP가 있다 IP(Internet Protocol) 각각의 컴퓨터에 IP 주소를 부여한다. ex) 100.100.100.1 등등 클라이언트와...
URI(Uniform Resource Identifier) = URL(... Locator) + URN(... Name) Uniform: 리소스를 식별하는 통일된 방식 Resource: 자원, URI로 식별할 수 있는 모든 것 Identifier: 다른 항목과 구분하는데 필요한 정보 Locator: 리소스가 있는 위치를 지정 Name: 리소스에 이름을 부...
HTTP(HyperText Transfer Protocol) HTTP 메시지에 모든 것을 전송한다. ex) html, text, json, xml(API), 이미지, 음성, 영상, 파일 등등 거의 모든 형태의 데이터 전송 가능 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용한다. HTTP 특징 클라이언트 서버 구조 무상태 프로토콜(statel...
HTTP API URI를 설계할 때 가장 중요한 것은 리소스 식별이다. -> 리소스를 URI에 매핑한다. > 회원 관리 API 예시 회원 목록 조회 /members 회원 조회 /members/{id} 회원 등록 /members/{id} 회원 수정 /members/{id} 회원 삭제 /members/{id} >> 참고: 계층 구조상 상위를 컬렉션으로 보고 ...
클라이언트에서 서버로 데이터 전송할때 데이터 전달 방식은 크게 2가지이다 쿼리 파라미터를 통한 데이터 전송 GET, 주로 정렬 필터(검색어) 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원가입, 상품주문, 리소스 등록/변경 등등 클라이언트에서 서버로 데이터를 전송할때 4가지 상황이 있다. 정적 데이터 조회 이미지, 정적 데이터 조회 G...
HTTP API 컬렉션 HTTP API 스토어 HTML FORM 사용 HTTP API 컬렉션 POST 기반 등록 • 회원 목록 /members -> GET • 회원 등록 /members -> POST • 회원 조회 /members/{id} -> GET • 회원 수정 /members/{id} -> PATCH, PUT, POST • 회원 삭제 /members...
상태 코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 • 1xx (Informational): 요청이 수신되어 처리중 • 2xx (Successful): 요청 정상 처리 • 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 • 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 ...
header-field = field-name ":" OWS field-value OWS (OWS: 띄어쓰기 허용) field-name은 대소문자 구별 없음 HTTP 헤더의 용도 HTTP 전송에 필요한 모든 부가정보 ex) 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 캐시 등등 엄청 많다 필요시 임의의 헤더 추가 가능 --...
캐시가 없다면 해당 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다. 인터넷 네트워크는 매우 느리고 비싸다. 이를 해결하기 위한것이 '캐시' 캐시를 적용하면 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다. 비싼 네트워크 사용량을 줄일 수 있다. 캐시 유효 시간이 초과하면, 서버를 통해 데이터를 다시 조회하고, 캐시를 ...