반응형
목록
분류 전체보기 (292)
[꼼꼼한 개발자] 꼼코더
👩🏻💼 요구사항 회원 정보 관리 API를 만들어라. 회원 목록 조회 회원 조회 회원 등록 회원 수정 회원 삭제 👷🏻 API URI 설계1 API 기능에 대응하는 직관적인 이름으로 URI 를 설계하면, 다음과 같이 URL을 모두 따로 만들어야 한다. 회원 목록 조회 - /read-member-list 회원 조회 - /read-member-by-id 회원 등록 - /create-member 회원 수정 - /update-member 회원 삭제 - /delete-member 📌 API URI 설계 시 포인트 URI 설계시 리소스와 행위를 분리하는 해야 한다. 가장 중요한 것은 리소스 식별이다. 리소스란? 동작을 제외한 자원 그 자체를 리소스라한다. 회원 등록 시스템을 예로 들면, 회원을 등록하거나 수정 혹은 ..
😹 HTTP (복습) HTTP 메시지에 모든 것을 전송 1) 거의 모든 형태의 데이터 전송 가능 HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML(API) 2) 서버 간에 데이터를 주고받을 때도 대부분 HTTP 사용 🗣 HTTP 요청 메시지와 HTTP 응답 메시지 보는 것과 같이, HTTP 요청 메시지와 HTTP 응답 메시지는 형태가 조금 다르다. 🤖 HTTP 메시지 요청(Requests)과 응답(Responses)의 구조 1. start line start line에는 요청이나 응답의 상태를 나타낸다.항상 첫 번째 줄에 위치한다. 응답에서는 status line이라고 부른다. 2. HTTP headers 요청을 지정하거나, 메시지에 포함된 본문을 설명하는 헤더의 집합이다. 3. em..
🤼♂️ 연결 유지 모델과 비연결 유지 모델 TCP/IP는 연결을 유지하는 모델이다. 1) 클라이언트 1 & 서버 TCP/IP 연결 클라이언트1은 서버와 연결된 후, 요청과 응답을 주고 받는다. 현재 클라이언트 1은 서버와 연결이 유지된 상태이다. 2) 클라이언트 2 & 서버 TCP/IP 연결 클라이언트2는 서버와 연결된 후, 요청과 응답을 주고 받는다. 현재 클라이언트1, 2는 서버와 연결이 유지된 상태이다. 3) 클라이언트 3 & 서버 TCP/IP 연결 클라이언트3은 서버와 연결된 후, 요청과 응답을 주고 받는다. 현재 클라이언트1, 2, 3은 서버와 연결이 유지된 상태이다. 4) 클라이언트 1 & 서버 요청, 응답 클라이언트1은 이미 연결된 상태이므로 TCP/IP 연결을 하지 않고, 요청과 응답을 ..
👀 Stateful(상태 유지), Stateless(무상태 유지) 차이(1) 🌊 상태 유지 - Stateful 1) 상태 유지 - Stateful 👦🏻 고객 : 이 노트북 얼마인가요? 👩🏻💼 점원 : 100만원 입니다. 👦🏻 고객 : 2개 구매하겠습니다. 👩🏻💼 점원 : 200만원 입니다. 신용카드, 현금중에 어떤 걸로 구매 하시겠어요? 👦🏻 고객 : 신용카드로 구매하겠습니다. 👩🏻💼 점원 : 200만원 결제 완료되었습니다. 2) 상태 유지- Stateful, 점원이 중간에 바뀌면? 👦🏻 고객 : 이 노트북 얼마인가요? 👩🏻💼 점원 A : 100만원 입니다. 👦🏻 고객 : 2개 구매하겠습니다. 🙎🏼♂️ 점원 B : 네..? 무엇을 2개 구매하시겠어요? 👦🏻 고객 : 신용카드로 구매하겠습니다. 🙎..
🌎 모든 것이 HTTP, 클라이언트 서버 구조 일반적으로 휴대폰, 컴퓨터 등에서 필요한 데이터는 서버에 요청하여 받아온다. 네트워크를 통해 서버로부터 데이터를 가져오기 위한 통신으로 크게 HTTP 통신과 Socket 통신 2가지가 있다. 🤝 HTTP(HyperText Transfer Protocol) HTTP는 하이퍼 텍스트를 주고 받기 위한 규칙(통신 규약)이다. 처음엔 문서간에 링크를 통해 연결할 수 있는 프로토콜로 사용했으나, 현재는 모든 것을 전송한다. 🤳🏻 HTTP 메시지에 모든 것을 전송 1) 거의 모든 형태의 데이터 전송 가능 HTML, TEXT IMAGE, Media, File, 음성, 영상, 파일 JSON, XML(API) 2) 서버 간에 데이터를 주고받을 때도 대부분 HTTP 사용 실무..
👀 웹 브라우저가 어떻게 동작을 할까? 1. 웹 브라우저에 URL 입력 2. IP, PORT 정보로 HTTP 요청 메시지 생성 IP는 DNS를 조회해서 얻고, PORT는 생략되어있으면 프로토콜(https)을 보고 유추 💡HTTP 요청 메시지 http 메서드/path, query string/HTTP 버전/호스트(도메인명) 3. HTTP 메시지 전송 SOCKET 라이브러리를 통해 헤더 부분에 IP, PORT 정보를 넣어 3way-handshake로 웹브라우저(클라이언트)와 웹서버(서버)를 연결한다. 연결이되면 HTTP 요청 메시지를 TCP/IP 계층에 전달한다. 4. 패킷 생성 헤더 부분에 출발지 IP, PORT, 목적지 IP, PORT 정보등을 담고 데이터 부분에 HTTP 요청 메시지를 담아 TCP/IP..
🏠 URI (Uniform Resource Identifier) 서로 다른 리소스를 식별하는데 필요한 정보와 통일 된 방식 URI(Uniform Resource Identifier)는 URL과 URN을 모두 포함하는 용어로 자원의 위치(Locator)와 이름(Name)을 모두 포함한다. URI는 정보 리소스를 고유하게 식별하고 위치를 지정할 수 있다. Uniform : 리소스 식별하는 통일된 방식이다. Resource : URI로 식별할 수 있는 모든 걸 자원이라고 한다. 웹 브라우저에 있는 HTML의 파일 것만 자원을 뜻하는 게 아니라 실시간 교통정보 등등 이러한 것들을 자원이라고 한다. Idenrifier : 다른 항목과 구분하는 데 필요한 정보이다. 사람을 식별할 때 주민등록번호를 식별 하는 것처럼..
🙅🏻♂️ IP 주소의 문제점 IP는 기억하기 어렵다.(IP를 가지고 서로 통신을 할 수 있지만 IP가 숫자로 되어 있어 기억하기가 어렵다.) IP는 변경될 수 있다. (IP가 바뀌는 일이 많아져서 접속이 안되는 경우가 생긴다.) → 그래서 이런 IP 주소들을 KEY/Value로 우리가 읽기에 가독성도 좋고 외우기도 좋은 도메인을 알아서 IP주소로 매칭하여 찾아주는 DNS 서버가 만들어졌다. 📖 DNS (Domain Name System : 도메인 네임 시스템) 도메인 명을 IP 주소로 변환시켜주는 것. (전화번호부와 유사) 💁🏻♂️ 순서 클라이언트가 DNS 서버에다가 도메인에 맞는 IP를 달라고 요청을 한다. DNS 서버가 응답을 하고 클라이언트는 서버에 도메인으로 접속할 수 있다. 나중에 IP가 변..