서버-클라이언트 모델은 네트워크를 이용하는 애플리케이션을 만들때 사용한다.
서버는 클라이언트의 요청에 따라 파일이나 데이터를 보내주는 프로그램이며, 클라이언트는 서버에 파일이나 데이터를 요청하고 소비하는 프로그램을 의미한다.
웹 서버에게 웹사이트를 표시하는데 필요한 html, css, 자바스크립트 파일 등을 요청하는 웹 브라우저는 클라이언트의 역할을 수행하는 프로그램이다.
option
+command
+i
, Window에서는 F12를 눌러 크롬 개발자 도구를 연다.
- GET: 서버에게 리소스를 요청하여, 정보를 검색하고 결과를 가져온다.
- POST: 서버에게 리소스를 보내며 생성을 요청한다.
ex)새 글을 업로드 하면 글이 웹 사이트에 등록되고, 신규 유저로 회원 가입을 하면 DB에 새로운 정보가 등록된다.- PUT: 서버에게 리소스 업데이트를 요청할 때 사용한다.
ex)회원 정보 수정- DELETE: 서버에게 리소스 삭제를 요청한다.
- HTTP 요청 중 POST와 PUT에만 body를 첨부할 수 있다.
- 1xx (정보): 요청을 받았으며 프로세스를 계속한다.
- 2xx (성공): 요청을 성공적으로 받았으며 인식했고 수용하였다.
- 3xx (리다이렉션): 요청 완료를 위해 추가 작업 조치가 필요하다.
- 4xx (클라이언트 오류): 요청의 문법이 잘못되었거나 요청을 처리할 수 없다.
- 5xx (서버 오류): 서버가 명백히 유효한 요청에 대해 충족을 실패했다.
브라우저에서 HTTP요청을 보내려면 주소창에 URL을 입력해야 한다. URL이 입력되면 브라우저는 html을 서버에 요청하고, html에 포함되어 있는 스크립트, 이미지와 같은 리소스들을 요청한다. 만약 화면의 일부분을 서버에서 데이터를 가져와 업데이트 하고 싶어도, 모든 리소스를 다시 요청해야 한다. 이런 작업은 퍼포먼스를 떨어뜨려, 유저가 웹 사이트를 이용할 때 탐색의 연속성을 저해하는 문제가 발생한다. 이런 문제점을 해결하기 위해 사용된 것이 AJAX이다.
$.ajax
함수를 이용한다.$.ajax(url, options)
- url: 요청하려는 웹 리소스의 url
- options: 요청에 대한 옵션
vs code에서는 위와 같은 extension program을 이용할 수 있다.
위의 live server를 설치한 후, vs code 우측 하단에 보이는 Go live 버튼을 클릭한다.
실행시키면 위와 같이 data.txt에 들어있는 내용과 .always 콜백함수가 실행된 것이 console에 나타난 것을 볼 수 있다. Ajax 함수를 실행하면 자바스크립트에서는 http 프로토콜에 맞는 http 요청을 만들고 data.txt 파일을 서버에서 다운로드 한다.
배고픈 새벽입니둉 .. 🍒🍑🍒