IP, TCP/UDP, PORT, DNSURI, 웹 브라우저 요청 흐름클라이언트 서버 구조, Stateful/Stateless, 비연결성, HTTP 메시지 HTTP API, GET/POST/PUT/PATCH/DELETE데이터 전송, HTTP API 설계 예시HTTP 상
복잡한 인터넷 망에서 클라이언트와 서버는 IP를 통해 통신함인터넷 프로토콜 역할지정한 IP 주소(IP Addrss)에 데이터 전달패킷(Packet) 통신 단위 사용(출발지 IP, 목적지 IP 등등의 정보를 가지고 있음)비연결성: 패킷을 받을 대상이 없거나 서비스 불능
URI (Uniform Resource Identifier) Uniform: 리소스를 식별하는 통일된 방식 Resource: 자원, URI로 식별할 수 있는 모든 것 identifier: 다른 항목과 구분하는데 필요한 정보 URL / URN URL (Resource
HTTP(HyperText Transfer Protocol) HTTP 메시지를 통해 HTML, TEXT, IMAGE, JSON 등등 거의 모든 형태의 서버 간 데이터를 주고 받음 HTTP 역사 HTTP/0.9 (1991): GET 메서드만 지원, 헤더X HTTP
HTTP 메서드 HTTP API HTTP 메서드 GET: 리소스 조회 POST: 요청 데이터 처리, 주로 등록 PUT: 리소스 대체, 없으면 생성 PATCH: 리소스 부분 변경/수정 DELETE: 리소스 삭제 기타 메서드: HEAD, OPTIONS
클라이언트 -> 서버 데이터 전송 데이터 전달 방식 쿼리 파라미터: GET, 주로 검색 또는 정렬 필터 등 메시지 바디: POST PUT PATCH, 회원가입 또는 상품 주문 등 리소스 등록과 변경 데이터 전달 상황 정적 데이터 조회(GET) 이미지, 정적 텍스트
상태 코드 클라이언트가 보낸 요청의 처리 상태를 응답하는 코드 1xx (Informational) 요청이 수신되어 처리중 (거의 사용X) 2xx (Successful) 요청 정상 처리 200 OK : 요청 성공 201 Created : 요청 성공하여 새로운
HTTP 헤더 header-field = field-name":" OWS field-value OWS (OWS: 띄어쓰기 허용) (EX) Host: www.google.com, Content-Type: text/html;charset=UTF-8 HTTP 전송에 필요한
캐시 기본 동작 캐시가 없으면 데이터가 변경되지 않아도 계속 같은 데이터를 다운로드 받아야 함 -> 느리고 비용이 많이 듦 캐시 적용 -> 비용 절감, 속도 개선, 빠른 사용자 경험 등 캐시 적용: cache-control: max-age=시간 -> 캐시가 유효한