① 브라우저가 DNS 서버에서 도메인 명으로 IP 주소를 가져옴
② 이후, 브라우저는 HTTP Request 요청 메세지를 작성하고,
OS의 프로토콜 스택에 메세지 전송을 의뢰함
③ 프로토콜 스택이 LAN에 제어 정보를 담은 패킷을 LAN 어댑터에 넘김
④ LAN 어댑터는 제어 정보가 담긴 패킷을 전기신호로 변환시켜, LAN 케이블로 송출
⑤ 송신한 패킷은 허브, 스위치, 라우터를 경유해서 Provider에게 전달됨
⑥ 패킷은 수많은 Access 회선을 통해서 POP를 거쳐서 인터넷 핵심부에 들어감
⑦ 이후, 많은 고속 라우터들 사이로 패킷이 상대방 서버까지 도달
⑧ 서버 측의 LAN에 패킷이 도착하면, 방화벽이 패킷을 검사
⑨ 패킷에 이상이 없을 경우, 캐시 서버가 먼저 응답 데이터가 있는지 확인
⑩ 캐시 서버에 응답 데이터가 없을 경우, 웹 서버에 전송
⑪ 패킷이 웹 서버에 도착하면, 프로토콜 스택이 패킷을 추출해서 WAS에 전달
⑫ 추출된 패킷을 받은 WAS는 Response 응답 메세지를 작성하여, 클라이언트에 전송.
응답 메세지의 전송은 본 과정 방법을 다시 수행하여 클라이언트에 전달됨.
HTTP는 상태와 연결에 대한 정보를 저장하지 않으므로, 이를 도와주는 것이 쿠키와 세션브라우저에 저장HTTP 헤더에 포함되어 전송Question) "쿠키와 세션에 대해 설명해주세요."
HTTP의 경우, 상태와 연결에 대한 정보를 저장하지 않아서,
이것을 도와주는 것이쿠키와세션입니다.
쿠키는 사용자 정보가 저장된 텍스트 파일 입니다.
브라우저에 저장되면서, 통신할 때HTTP 헤더에 포함되어 전송 됩니다.
HTTP통신 과정에서 쿠키 정보가 노출될 수 있기 때문에, 보안에 취약 하다는 특징이 있습니다.
세션은 사용자 정보를서버에 저장하는 것 입니다.
브라우저가 종료될 때까지 정보가 유지 됩니다.
서버에 저장되기 때문에, 보안이 강화 된다는 특징이 있습니다.
REST 기반으로 서비스 API 를 구현한 것
Representational State Transfer
: 자원(Resource)의 표현(Representation)으로 상태(State)를 주고 받는 것(Transfer)
자원 = URI
행위 = HTTP Method
REST 원리를 잘 따르는 시스템자원을 URI로 표현하고, 행위에 적절한 HTTP Method를 사용Question) "REST API 에 대해 설명해 주세요."
REST API는REST를 기반으로 서비스 API를 구현한 것 입니다.
REST는 자원의 표현으로 상태를 주고 받는 것을 의미 합니다.
자원을URI로 표현하고, 자원에 대한행위는HTTP Method로 표현 합니다.
RESTful은REST원리를 잘 따르는 시스템을 의미 합니다.
자원을URI로,행위에 맞는 적절한HTTP Method를 사용한 것이RESTful한 메소드 입니다.
예시로 들어보면,CRUD기능을 모두HTTP의POST메소드로 처리한 것을
RESTful하지 않다 고 할 수 있습니다.
Successful Response)을 의미Redirection) 의미HTTP 요청이 잘못되거나, 권한이 없는 경우Question) "HTTP 응답 코드에 대해 설명해 주세요."
HTTP 응답 코드의 종류는 크게 5가지가 있습니다.
100번대는 조건부 응답으로, 요청을 받아서 처리중을 의미 합니다.200번대는Successful Response로, 요청이 성공적으로 처리 되었음을 의미 합니다.300번대는리다이렉션으로, 클라이언트를 지정된 위치로 이동시키는 것을 의미 합니다.400번대는클라이언트의 오류로,HTTP 요청이 잘못되거나권한이 없을 경우 발생 합니다.500번대는서버의 오류로, 서버가 요청을 제대로 수행하지 못할 경우 발생 합니다.
암호화 프로토콜을 사용하여, HTTP 통신을 안전하게 하는 프로토콜HTTP → 암호화 → TCP 통신HTTP의 3가지 문제점을 보완하기 위함HTTP의 문제점 3가지HTTP는 암호화를 하지 않아서, 전송 도중 도청이 가능Question) "HTTPS 에 대해 설명해 주세요."
HTTPS는암호화 프로토콜을 사용하여,HTTP통신을 안전하게 하는 프로토콜 입니다.
HTTP는 3가지 문제점이 존재 합니다.
- 첫 번째는
평문 통신을 하여,도청이 가능 합니다.- 두 번째는
통신 상대를 확인하지 않아서,위장이 가능 합니다.- 세 번째는
응답의 완전성을 보장할 수 없어서,변조가 가능 합니다.
따라서, 이러한HTTP의 3가지 문제점을 보완하기 위해HTTPS를 사용 합니다.
구체적으로는HTTP에서 통신하는소켓에암호화 프로토콜을 사용하여,TCP와 통신하도록 합니다.