Web35 [HTTP 웹 기본 지식] HTTP API를 만들어보자 API URI 고민 URI(Uniform Resource Identifier) 리소스의 의미 회원을 등록하고 수정하고 조회하는게 리소스가 아닙니다. 예) 미네랄을 캐라 -> 미네랄이 리소스 회원이라는 개념 자체가 바로 리소스입니다. 리소스 식별 방법 회원을 등록하고 수정하고 조회하는 것을 모두 배제 회원이라는 리소스만 식별하면 됩니다. -> 회원 리소스를 URI에 매핑 API URI 설계 리소스 식별, URI 계층 구조 활용 회원 목록 조회 /members 회원 조회 /members/{id} 회원 등록 /members/{id} 회원 수정 /members/{id} 회원 삭제 /members/{id} 참고: 계층 구조상 상위를 컬렉션으로 보고 복수단어 사용 권장(member -> members) 리소스와 행.. 2021. 9. 22. [HTTP 웹 기본 지식] HTTP 메시지 모든 것이 HTTP HTTP 메시지에 모든 것을 전송 HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML 거의 모든 형태의 데이터 전송 가능 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 지금은 HTTP 시대 시작 라인 요청 메시지 GET /search?q=hello&hl=ko HTTP/1.1 Host: www.google.com start-line = request-line / status-line request-line = method SP(공백) reqeust-target SP HTTP-version CRLF(엔터) HTTP 메서드 (GET: 조회) 요청 대상(/search?q=hello&hl=ko) HTTP Version 요청 메시지 - HTTP 메서드 종류: GET, .. 2021. 9. 22. [HTTP 웹 기본 지식] 비 연결성(connectionless) HTTP는 기본이 연결을 유지하지 않는 모델 일반적으로 초 단위 이하의 빠른 속도로 응답 1시간 동안 수천명이 서비스를 사용해도 실제 서버에서 동시에 처리하는 요청은 수십개 이하로 매우 작음 예) 웹 브라우저에서 계속 연속해서 검색 버튼을 누르지는 않습니다. 서버 자원을 매우 효율적으로 사용할 수 있음 한계와 극복 TCP/IP 연결을 새로 맺어야 함 - 3 way handshake 시간 추가 웹 브라우저로 사이트를 요청하면 HTML 뿐만 아니라 자바스크립트, css, 추가 이미지 등등 수 많은 자원이 함께 다운로드 지금은 HTTP 지속 연결(Persistent Connections)로 문제 해결 HTTP/2, HTTP/3에서더 많은 최적화 스테이스리스를 기억하자 서버 개발자들이 어려워하는 업무 정말 같은.. 2021. 9. 22. [HTTP 웹 기본 지식] Stateful, Stateless 무상태 프로토콜 스테이스리스(Stateless) 서버가 클라이언트의 상태를 보존X 장점: 서버 확장성 높음(스케일 아웃) 단점: 클라이언트가 추가 데이터 전송 Stateful, Stateless 차이 상태 유지: 중간에 다른 점원으로 바뀌면 안됩니다. (중간에 다른 점원으로 바뀔 때 상태 정보를 다른 점원에게 미리 알려줘야 합니다.) 무상태: 중간에 다른 점원으로 바뀌어도 됩니다. 갑자기 고객이 증가해도 점원을 대거 투입할 수 있습니다. 갑자기 클라이언트 요청이 증가해도 서버를 대거 투입할 수 있습니다. 무상태는 응답 서버를 쉽게 바꿀 수 있습니다. -> 무한한 서버 증설 가능 Stateless 실무 한계 모든 것을 무상태로 설계 할 수 있는 경우도 있고 없는 경우도 있습니다. 무상태 예) 로그인이 필요.. 2021. 9. 22. 이전 1 ··· 4 5 6 7 8 9 다음