REST API URI 네이밍
·
Computer Science/Network
자원을 명사로 나타내라.RESTful URI가 가리키는 자원은 객체이다. 그렇기 때문에 동사가 아니라 명사로 칭한다. 자원은 4가지 범주로 분류할 수 있다. 문서, 컬렉션, 스토어, 컨트롤 자원이 어떤 범주에 속하는지에 따라 일관된 네이밍을 사용한다. 문서문서 자원은 DB의 하나의 레코드, 하나의 객체 인스턴스와 유사한 단일 자원의 개념이다. 단수를 사용하여 문서 자원을 표현한다.http://api.example.com/device-management/managed-devices/{device-id}> http://api.example.com/user-management/users/{id}> http://api.example.com/user-management/users/admin>   컬렉션서버가 관리..
CORS(Cross-Origin Resource Sharing)
·
Computer Science/Network
CORS란Cross-Origin Resource Sharing으로 교차 출처 리소스 공유라는 뜻이다. 다른 출처에서 리소스를 요청할 때 지켜야하는 정책이다. 여기서 출처(Origin)은 protocol, host, port까지 의미한다.  CORS HTTP 요청 방식단순 요청을 보내는 것(Simple Request)예비 요청을 보내서 확인 후 보내는 것(Preflight)인증된 요청을 사용하는 방식(Credential Request) Simple Request예비요청없이 서버에 바로 요청을 보내는 방법이다. 서버에 바로 본요청을 보낸 뒤, 서버는 헤더에 ACCESS-CONTROL-ALLOW-ORIGIN 값 등을 붙혀서 보내주면 브라우저가 CORS 정책 위반 여부를 검사한다.조건GET, POST, HEAD..
RESTful API 개념
·
Computer Science/Network
[REST API 디자인 가이드]https://covenant.tistory.com/241 REST란? REST API 디자인 가이드REST란? REST API 디자인 가이드 시작하며 작년 저의 커리어의 첫 번째 회사인 스타트업 입사 첫날 사수님이 REST API를 구현해본적이 있냐고 물어보셨습니다. 그런 경험이 없다고 하니 REST API 디자인covenant.tistory.com Naver D2 강연 : https://www.youtube.com/watch?v=RP_f5dMoHFc REST분산 하이퍼미디어 시스템(ex : 웹)을 위한 아키텍쳐 스타일아키텍쳐 스타일 : 제약조건의 집합 REST 아키텍쳐 스타일1. Uniform (유니폼 인터페이스)유니폼 인터페이스는 URI로 지정한 리소스에 대한 조작을..
TCP 3, 4 way handshake
·
Computer Science/Network
TCP와 UDP가 무엇인지(https://kimdozzi.tistory.com/271), 3, 4 way handshake(https://kimdozzi.tistory.com/270)가 왜 필요한 것인지 잘 모르다면, 해당 링크들을 읽고 오길 바란다. 이전에는 이론을 통해 SYN, ACK를 주고 받는 과정을 확인하였다면, 이번에는 실습을 통해 확인해보겠다. 인터넷 연결이 가능한 환경, 와이어샤크만 있으면 된다. 아래 링크에서 다운 받고 오자. 와이어샤크를 설치하다 보면, Npcap이라는 것도 같이 다운을 권장하는 창이 뜨게 되는데, 필요한 것인 같이 다운받아 주자. 와이어샤크를 실행하게 되면 지금 쓰고 있는 인터넷 수단을 찾아서 클릭해줘야 한다. 아마 Npcap이 없으면 이 부분이 실행이 안될 것이다....
TCP와 UDP 차이
·
Computer Science/Network
TCP - 전송 제어 프로토콜IP가 인터넷 프로토콜로서 복잡한 인터넷 망 속에서 클라이언트와 서버 간에 통신할 수 있게 IP 주소와 패킷과 같은 규칙을 통해 통신을 하게 하는 것이라면, TCP는 IP규칙으로만 통신하기에 부족하거나 불안정하던 여러 단점들(패킷 순서가 이상하거나 패킷이 유실)을 커버해, 패킷 전송을 제어하여 신뢰성을 보증하는 프로토콜로 보면 된다.IP 규칙에 써있는대로 목적지에 다다랐으면, TCP 규칙에 써있는대로 올바르게 도착했는지 정확히 누구에게 전달되야하는지 하나하나 따진다고 생각하면 된다. 그래서 은행 업무나 메일과 같은 반드시 수신자가 정보를 받아야 하는 신뢰성 있는 통신이 필요할 때 사용된다.전송 데이터가 포장되는 과정을 나열해보면 다음과 같다.전송 데이터를 TCP 포장한다.포장..
브라우저에 www.google.com을 일어나는 일
·
Computer Science/Network
1. 브라우저에 www.google.com 입력2. 캐시 체크먼저 브라우저 캐시가 있는데 기존에 google.com을 방문했다면, 방문한 기록이 남아 있어서 빠르게 접근할 수 있습니다.google.com에 방문한 적이 없다면, OS캐시를 찾아보게 됩니다. 말 그래도 운영체제 안에 있는 캐시로 systemcall을 통해 그 내용에 접근할 수 있습니다.세번째는 라우터 캐시를 확인합니다. 라우터는 집에서 사용하는 공유기를 생각하면 됩니다. 거기서도 DNS내용을 저장합니다.마지막으로 한국에서 인터넷을 제공하는 ISP(Internet Service Provider) 캐시입니다.  3. 요청한 URL이 캐시에 없으면 DNS로 IP주소 획득ISP 캐시에서까지 그 IP주소를 찾을 수 없었다면, 이제 ISP의 DNS S..
[Network] foward & reverse proxy server
·
Computer Science/Network
프록시 서버란 ?프록시, 웹 프록시라고도 하는 정방향 포록시는 클라이언트 시스템 그룹 앞에 위치하는 서버이다. 컴퓨터가 인터넷의 사이트 및 서비스에 요청하면 프록시 서버가 이러한 요청을 가로채고 중개자처럼 해당 클라이언트를 대신하여 웹 서버와 통신한다.ex)A : 사용자의 가정용 컴퓨터B : 정방향 프록시 서버C : 웹 사이트의 원본 서버(웹 사이트 데이터가 저장되는 곳) 표준 인터넷 통신에서는, 컴퓨터 A가 컴퓨터 C에 직접 연결하고 클라이언트는 원본 서버에 요청을 보내며 원본 서버가 클라이언트에 응답한다. 정방향 프록시가 설정되면 A가 대신 B에 요청을 보내고 B가 요청을 C로 전달한다. 그런 다음 C가 B에게 응답을 보내고 B가 응답을 A에게 다시 전달한다. 그렇다면, 정방향 프록시를 사용하는 이유..
HTTP 메서드 활용
·
Computer Science/Network
[클라이언트에서 서버로 데이터 전송] 1. 쿼리 파라미터를 통한 데이터 - GET - 주로 정렬 필터(검색어) 2. 메시지 바디를 통한 데이터 전송 - POST, PUT, PATCH - 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 4가지 상황 1.정적 데이터 조회 * 이미지, 정적 텍스트 문서 → 조회는 GET 사용, 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능 2. 동적 데이터 조회 → 쿼리 파라미터 사용 * 주로 검색, 게시판 목록에서 정렬 필터(검색어) → 조회는 GET 사용, GET은 쿼리 파라미터를 사용해서 데이터를 전달 3. HTML Form을 통한 데이터 전송 - 회원 가입, 상품 주문, 데이터 변경 - HTML Form submit 시 POST전송 : 회원가입, ..