-> 첫번째는 브라우저에서 DNS 서버를 통해 도메인명으로 IP 주소를 가져오게 된다. 그리고 HTTP Req 메시지를 작성하게 되고, OS 의 프로토콜 스택에 메시지 전송을 의뢰하게 된다.
-> 그러면 프로토콜 스택이 LAN 에 제어정보를 붙인 패킷을 LAN 어댑터에 넘기게 된다. LAN 어댑터는 이것을 전기신호로 변환시켜 LAN 케이블로 송출하게 된다.
-> 그러면 송신한 패킷은 허브, 스위치, 라우터를 경유해서 프로바이더에게 전달이 된다. 그러면 패킷은 수많은 엑세스 회선을 통해서 POP를 거쳐서 인터넷 핵심부에 들어가게 되고, 그 다음에 많은 고속 라우터들 사이로 패킷이 상대방 서버까지 도달하게 된다.
-> 서버 측의 LAN 에 도착하게 되면, 방화벽이 패킷을 검사하게 되고, 이상이 없을 경우에는 캐시서버가 먼저 응답 데이터가 있는지 확인하게 된다. 그래서 없을 경우에는 웹서버에 전송을 하게 된다.
-> 패킷이 웹서버에 도착하면, 이제 프로토콜 스택은 패킷을 추출해서 WAS 에 전달을 하게 된다. 그러면 WAS 는 응답 메시지를 만들어서 다시 클라이언트에게 보내게 되는데, 위 방법대로 다시 클라이언트에게 전달을 하게 된다.
-> HTTP 의 경우에 stateless 해서 상태와 연결에 대한 정보를 저장하지 않아서 이를 도와준다.
-> 쿠키는 사용자 정보가 기록된 텍스트 파일인데, 브라우저에 저장되면서 통신할 떄 (HTTP) 헤더에 포함되어 전송되게 된다. 그리고 HTTP 통신 중에 쿠키 정보가 노출될 수 있기 때문에 보안에 취약하다는 특징을 가지고 있다.
-> 세션은 사용자의 정보를 서버에 저장하는데, 이때 브라우저가 종료될 때까지 유지되게 된다. 그리고 서버에 저장되기 때문에 보안이 강하다는 특징을 가지고 있다.
-> Rest 를 기반으로 서비스 API 를 구현한 것인데, REST 라는 것은 자원의 표현, 즉 이름으로부터 자원의 정보를 주고받는 것을 의미한다. 그래서 자원을 uri 로 표현하고, 자원에 대한 행위는 HTTP Method 로 표현한 것이 REST API 이다.
-> RESTful 이라는 것은, REST 의 원리를 잘 따르는 시스템인데, 자원을 URL로, 행위에 맞는 적절한 HTTP method 를 사용한 것이 RESTful 한 메소드이다.
-> 100 번대 는 조건부 응답이고, 요청을 받아서 지금 처리하고 있음을 의미한다.
-> 200 번대 는 Successful Response 로서 Request 가 성공적으로 처리되었음을 의미한다.
-> 300 번대 는 Redirection 으로 , 클라이언트를 지정된 위치로 이동하게 하는 것이다.
-> 400 번대 는 클라이언트의 오류로, HTTP 의 요청이 잘못되거나 권한이 없을 때 나타나게 된다.
-> 500 번대 는 서버의 오류로, 서버가 요청을 제대로 수행하지 못 할 때 발생하게 된다.
-> HTTPS 는 HTTP 에 3가지 문제가 있어서 사용하게 되었다.
-> 첫번째는 평문 통신을 해서 도청이 가능하고, 두번째는 통신상대를 확인하지 않아서 위장이 가능하다. 마지막으로는 완전성을 증명할 수 없기 때문에 변조가 가능하다.
-> HTTPS 에서 사용하는 소켓을 암호화 프로토콜을 사용해서 TCP 와 통신하도록 하게 된다. 그래서 암호화 프로토콜을 사용함으로써 HTTPS 는 암호화, 증명서, 변조를 방지할 수 있다.