HTTP12 HTTP 메서드 - PUT, PATCH, DELETE PUT 리소스를 대체 리소스가 있으면 대체 리소스가 없으면 생성 쉽게 이야기해서 덮어버린다. 중요! 클라이언트가 리소스를 식별 클라이언트가 리소스 위치를 알고 URI를 지정 POST와 차이점 PUT - 리소스가 있는 경우 PUT - 리소스가 없는 경우 PUT 주의! - 리소스를 완전히 대체 PATCH 리소스 부분 변경 PATCH - 리소스 부분 변경 DELETE 리소스 제거 DELETE - 리소스 제거 Reference 모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한 2022. 1. 16. HTTP 메서드 - GET, POST GET 리소스 조회 서버에 전달하고 싶은 데이터는 query(쿼리 파라미터, 쿼리 스트링)을 통해서 전달 메시지 바디를 사용해서 데이터를 전달할 수 있지만, 지원하지 않는 곳이 많아서 권장하지 않는다. GET 리소스 조회 - 메시지 전달 GET 리소스 조회 - 서버 도착 GET 리소스 조회 - 응답 데이터 POST 요청 데이터 처리 메시지 바디를 통해 서버로 요청 데이터 전달 서버는 요청 데이터를 처리 메시지 바디를 통해 들어온 데이터를 처리하는 모든 기능을 수행한다. 주로 전달된 데이터로 신규 리소스 등록, 프로세스 처리에 사용 POST 리소스 등록 - 메시지 전달 POST 리소스 등록 - 신규 리소스 생성 POST 리소스 등록 - 응답 데이터 POST 정리 새 리소스 생성(등록) 서버가 아직 식별하지.. 2022. 1. 15. HTTP 메서드 API URI 고민 - URI(Uniform Resource Identifier) 리소스의 의미는 뭘까? 회원을 등록하고 수정하고 조회하는게 리소스가 아니다. ex) 미네랄을 캐라 -> 미네랄이 리소스 회원이라는 개념 자체가 바로 리소스 리소스를 어떻게 식별하는게 좋을까? 회원을 등록하고 수정하고 조회하는 것을 모두 배제 회원이라는 리소스만 식별하면 된다. -> 회원 리소스를 URI에 매핑 API URI 설계 - 리소스 식별, URI 계층 구조 활용 회원 목록 조회 : /members 회원 등록 : /members/{id} -> 어떻게 구분? 회원 조회 : /members/{id} -> 어떻게 구분? 회원 수정 : /members/{id} -> 어떻게 구분? 회원 삭제 : /members/{id} -> .. 2022. 1. 11. HTTP 메시지 HTTP 메시지 구조 HTTP 요청 메시지 HTTP 요청 메시지도 body 본문을 가질 수 있다. 시작 라인 - 요청 메시지 start-line = request-line / status-line request-line = method SP(공백) request-target SP HTTP-version CRLF(엔터) HTTP 메서드 (GET : 조회) 요청 대상 (/search?q=hello&h1=ko) HTTP Version 시작 라인 - 요청 메시지(HTTP 메서드) 종류 : GET, POST, PUT, DELETE... 서버가 수행해야 할 동작 지정 GET : 리소스 조회 POST : 요청 내역 처리 시작 라인 - 요청 메시지(요청대상) absolute-path[?query] (절대경로[?쿼리]).. 2022. 1. 9. 비연결성(connectionless) 연결을 유지하는 모델 연결을 유지하지 않는 모델 비 연결성 HTTP는 기본이 연결을 유지하지 않는 모델 일반적으로 초 단위의 이하의 빠른 속도로 응답 1시간 동안 수천명이 서비스를 사용해도 실제 서버에서 동시에 처리하는 요청은 수십개 이하로 매우 작음 ex) 웹 브라우저에서 계속 연속해서 검색 버튼을 누르지는 않는다. 서버 자원을 매우 효율적으로 사용할 수 있다. 비 연결성 - 한계와 극복 TCP/IP 연결을 새로 맺어야 한다 -> 3 way handshake 시간 추가 웹 브라우저로 사이트를 요청하면 HTML 뿐만 아니라 자바스크립트, css, 추가 이미지 등등 수 많은 자원이 함께 다운로드 지금은 HTTP 지속 연결(Persistent Connections)로 문제 해결 HTTP/2, HTTP/3에서.. 2022. 1. 9. Stateful, Stateless 무상태 프로토콜 - 스테이스리스(Stateless) 서버가 클라이언트의 상태를 보존하지 않는다. 장점 : 서버 확장성이 높다(Scale-out) 단점 : 클라이언트가 추가 데이터를 전송해야 한다. Stateful, Stateless 차이 상태 유지(Stateful) : 중간에 다른 점원으로 바뀌면 안된다. (중간에 다른 점원으로 바뀔 때 상태 정보를 다른 점원에게 미리 알려줘야 한다.) 무상태(Stateless) : 중간에 다른 점원으로 바뀌어도 된다. 갑자기 고객이 증가해도 점원을 대거 투입할 수 있다. -> 갑자기 클라이언트 요청이 증가해도 서버를 대거 투입할 수 있다. 무상태는 응답 서버를 쉽게 바꿀 수 있다. -> 무한한 서버 증설 가능 상태 유지 - Stateful (이해도) 무상태 - Stat.. 2022. 1. 8. 이전 1 2 다음