① 브라우저
가 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
와 통신하도록 합니다.