: 현재는 사물(냉장고,에어컨 등등 까지도) 대부분에도 네트워크가 연결되어있음.
: 네트워크에만 연결되어 있다면 네트워크에 존재하는 모든 사물들의 제어가 가능해짐. 편리함.
: 서버에 접근해서 필요한 데이터를 받기 위해 사용하는 곳
ex) 디바이스(랩탑,컴퓨터,핸드폰 등)에 설치되는 소프트웨어들 .. 브라우저, 어플 등
: 특정 데이터가 모여있는 곳, 클라이언트들이 제공받는 서비스(=데이터)들이 모여있는 곳.
: 4번의 연결해제는 http 프로토콜의 특징으로, 서버가 클라이언트에 응답하는 순간 연결을 해제시켜버린다. 이유는 서버에는 무-수-히 많은 클라이언트들이 요청을 해오기 때문에 다 연결될 수가 없음! 때문에 연결을 끊어버리고, 연결을 유지(라기보다는 기억에 가까운..)하기 위해 쿠키 또는 세션을 이용한다.
: client에서 server에게 request하고,response를 받는 것처럼 server도 DB(datebase)에 request 하는 과정이 있음.
: URL에 데이터가 노출됨.
ex) 네이버에 '날씨'라고 검색했을 때 GET 방식은 도메인(naver.com부분) 뒤에 /serach.naver?sm=top_hty&fbm=1&ie=utf8&query=날씨 라고 주소가 지저분하게 붙음(=쿼리스트링)
: 데이터 길이에 제한 있음
: 브라우저에 데이터가 노출되므로 상대적으로 보안에 취약함
: 요청 메세지에 데이터를 담아서 보냄(주소에서는 안보이고 따로 데이터를 담아서 보냄)
: 상대적으로 보안에 강함
: django에서 주로 사용함.
http
: 프로토콜
search.naver.com
: 도메인(호스트) 👉🏻 여기까지 서버에 진입함
search.naver
: 경로 - 서버 안에서 어떤 경로로 갈 것인가
query=weather
: 쿼리 - 경로를 찾아서 어떤 요청을 할 것인가
search/today/weather
: URL 맵핑(데이터)스트링
: 규칙을 정해놓고 규칙에 따라 실행될 함수들을 정해놓음.
client → [ 웹 서버 → 애플리케이션 서버 ] → DB
server = 웹 서버 + 애플리케이션 서버
웹 서버
: 주로 정적인 데이터 요청처리(그때그때 변하지 않는 데이터)
: 동적인 데이터 요청시 애플리케이션 서버에 전달
애플리케이션 서버
: 주로 동적인 데이터 요청 처리(변하는 데이터)
ex) 오늘 날씨 같은 데이터들
: Database 연동