Spring/HTTP

· Spring/HTTP
* 캐시와 조건부 요청     * 캐시가 없을 때     • 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다.     • 인터넷 네트워크는 매우 느리고 비싸다.     • 브라우저 로딩 속도가 느리다.     • 느린 사용자 경험     * 캐시 적용     • 캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다.     • 비싼 네트워크 사용량을 줄일 수 있다.     • 브라우저 로딩 속도가 매우 빠르다.     • 빠른 사용자 경험     * 캐시 시간 초과     • 캐시 유효 시간이 초과하면, 서버를 통해 데이터를 다시 조회하고, 캐시를 갱신한다.     • 이때 다시 네트워크 다운로드가 발생한다.         [검증 헤더와 조건부 요청1]      ..
· Spring/HTTP
* HTTP BODY =>     message body - RFC2616(과거)         • 메시지 본문(message body)은 엔티티 본문(entity body)을 전달하는데 사용         • 엔티티 본문은 요청이나 응답에서 전달할 실제 데이터         • 엔티티 헤더는 엔티티 본문의 데이터를 해석할 수 있는 정보 제공         • 데이터 유형(html, json), 데이터 길이, 압축 정보 등등         HTTP/1.1 200 OK         [엔티티 헤더]         Content-Type: text/html;charset=UTF-8         Content-Length: 3423         [메시지 본문 엔티티 본문]                   ..
· Spring/HTTP
HTTP 상태코드 상태 코드 - 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx (Informational): 요청이 수신되어 처리중 2xx (Successful): 요청 정상 처리 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함 만약 모르는 상태 코드가 나타나면? 클라이언트가 인식할 수 없는 상태코드를 서버가 반환하면? 클라이언트는 상위 상태코드로 해석해서 처리 미래에 새로운 상태 코드가 추가되어도 클라이언트를 변경하지 않아도 됨 1xx (Informational) : 요청이 수신..
· Spring/HTTP
HTTP API를 만들어보자.요구사항회원 정보 관리 API를 만들어라. 회원 목록 조회 회원 조회 회원 등록 회원 수정 회원 삭제  API URI 설계URI(Uniform Resource Identifier)회원 목록 조회 /read-member-list 회원 조회 /read-member-by-id 회원 등록 /create-member 회원 수정 /update-member 회원 삭제 /delete-member리소스 식별, URI 계층 구조 활용 회원 목록 조회 /members 회원 조회 /members/{id} 회원 등록 /members/{id} 회원 수정 /members/{id} 회원 삭제 /members/{id} 참고: 계층 구조상 상위를 컬렉션으로 보고 복수단어 사용 권장(member -> memb..
· Spring/HTTP
HTTPHyperText Transfer Protocol모든 것이 HTTP - HTTP 메시지에 모든 것을 전송HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML (API) 거의 모든 형태의 데이터 전송 가능 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 지금은 HTTP 시대!  HTTP 역사HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더X HTTP/1.0 1996년: 메서드, 헤더 추가 HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전 RFC2068 (1997) -> RFC2616 (1999) -> RFC7230~7235 (2014) HTTP/2 2015년: 성능 개선 HTTP/3 진행중: TCP 대신에 UDP 사용, 성능 개선 HTT..
· Spring/HTTP
URIUniform: 리소스 식별하는 통일된 방식Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음) Identifier: 다른 항목과 구분하는데 필요한 정보 URL: Uniform Resource Locator URN: Uniform Resource Name 전체 문법 scheme://[userinfo@]host[:port][/path][?query][#fragment] https://www.google.com:443/search?q=hello&hl=ko프로토콜(https) 호스트명(http://www.google.com)포트 번호(443) 패스(/search) 쿼리 파라미터(q=hello&hl=ko) URL, URN URL - Locator: 리소스가 있는 위치를 지정 URN - N..
· Spring/HTTP
IP 인터넷 프로토콜 역할지정한 IP 주소(IP Address)에 데이터 전달 패킷(Packet)이라는 통신 단위로 데이터 전달 IP 프로토콜의 한계비연결성패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송  비신뢰성중간에 패킷이 사라지면? 패킷이 순서대로 안오면?  프로그램 구분같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면? JavaNetwork Repository에서 학습한 내용  TCP 특징전송 제어 프로토콜(Transmission Control Protocol) 연결지향 - TCP 3 way handshake (가상 연결) 데이터 전달 보증 순서 보장 신뢰할 수 있는 프로토콜 현재는 대부분 TCP 사용 UDP 특징사용자 데이터그램 프로토콜(User Datagram Pro..
류가든
'Spring/HTTP' 카테고리의 글 목록