브라우저에 URL을 치면 일어나는 일
•
첫번째는 브라우저에서 DNS 서버에 도메인명으로 IP 주소를 가져오게 됩니다.
•
그리고 Http Request 메시지를 작성하구요
•
그리고 OS의 프로토콜 스택에 메시지 전송으로 의뢰하게 됩니다
•
그럼 프로토콜 스택이 LAN에 제어 정보를 붙인 패킷을 LAN 어댑터에 넘기게 되고요
•
패킷을 허브, 스위치, 라우터와 프로바이더에게 전달이 됩니다.
•
그리고 POP를 거쳐 인터넷 핵심속으로 들어가게 되고 고속라우터들 사이로 패킷이 상대방 서버까지 도달하게 됩니다.
•
방화벽이 패킷을 검사 하고 이상이 없을 경우 캐시서버에서 먼저 확인 후 웹서버 → WAS로 전달한다.
REST API
•
REST 기반으로 서비스 API를 구현한 것
•
자원의 표현으로 상태를 주고받는 것
•
표현은 URI, 상태는 정보 즉 URI를 통해서 정보를 주고 받는 것
REST API는 REST 기반으로 서브스 API를 구현한 것인데요
REST라는 것은 자원의 표현으로부터 자원의 정보를 주고받는 것을 의미합니다.
그래서 자원을 URI로 표현하고 자원에 대한 행위는 HTTP Method로 표현하는 것이 REST API 입니다.
RESTful이란 것은 REST의 원리를 잘 따르는 시스템인데요
자원을 URI로, 행위에 맞는 적절한 HTTP Method를 사용한 것이 RESTful한 메소드입니다.
HTTP 응답코드
•
100: 조건부 응답(요청을 받았고 작업을 계속함)
•
200: 성공적으로 처리되었다.
◦
200: 성공적으로 요청이 잘 처리되었다 (GET)
◦
201: 성공적으로 요청이 잘 처리 되었고, 이로인해 새로운 리소스가 생성되었다.(POST)
◦
202: 요청은 잘 받았지만 처리는 완료되지 않았다
•
300: Redirection(사용자가 특정 페이지를 접근했을 때, 의도적으로 다른 페이지로 이동시키는 방법)
◦
301: 영구적인 페이지 이동
◦
302: 일시적인 페이지 이동
•
400: 클라이언트의 오류
◦
400: 잘못된 문법으로 인해 클라이언트가 잘못된 요청을 보냄
◦
401: 인증이 필요한 리소스에 인증되지 않은 사용자가 접근함
◦
402: 권한이 없는 사용자가 접근합 (401과 다른 점은 서버가 사용자를 알고 있음)
◦
404: 요청한 리소스가 존재하지 않음
◦
405: 현재 리소스에 맞지 않은 메소드를 사용함
•
500: 서버의 오류
◦
500: 서버에 오류가 발생했으나 처리 방법을 알 수 없을 경우
◦
501: 클라이언트 요청에 대한 서버의 응답 수행 기능이 없음을 의미
◦
502: 서버가 게이트웨이로부토 잘못된 응답을 수신했음을 의미
HTTPS
•
암호화 프로토콜을 사용하여 HTTP 통신을 안전하게 하는 프로토콜
•
HTTPS는 HTTP통신을 암호화 프로토콜을 사용하여 안전하게 하는 포로토콜입니다.
•
HTTPS를 사용하므로써 도청을 방지하며, 인증서를 통해서 상대방이 누군지 보장하고,
•
상대방으로부터 받은 응답이 완전한지 변조를 방지할 수 있습니다.