[CS] HTTP/NetWork 문제 Day-29

cptkuk91·2021년 11월 19일
0

CS

목록 보기
56/139

클라이언트-서버 모델

  • 웹 개발에서 클라이언트는 브라우저를 뜻합니다.
  • 클라이언트는 서버에 요청을 보내고 응답을 받습니다.
  • 서버는 DB에 요청을 보내고, 응답을 받습니다.

웹 개발 대표적인 프로토콜

  • 80: HTTP

URL 구성 요소

  • scheme ex) https://
  • hosts ex) www.kakao.gg
  • url-path ex) search

URI 구성 요소

  • URL을 모두 포함하고 query, bookmark가 추가될 수 있습니다.

HTTP 상태 코드

  • 200: OK, 성공적 응답
  • 302: Found, 리다이렉트할 URL 확인
  • 404: Not Found, 클라이언트가 잘못된 페이지를 서버에 요청(페이지를 찾을 수 없음)
  • 500: Internal Server Error, 서버에서 에러 발생

CSR과 SSR 특징

  • 경로가 변경될 때마다 새로운 정적 파일을 요청하는 것은 SSR의 특징입니다.
  • SEO가 가장 우선 순위인 경우, SSR을 사용합니다.
  • 동적 상호작용이 많은 웹 애플리케이션에는 CSR이 적합합니다.
  • CSR에서 서버는 주로 API 응답을 담당합니다.

HTTP message

  • HTTP messages는 요청과 응답으로 나뉩니다.
  • 요청과 응답은 유사한 구조를 가지고, 요청의 첫 번 째 줄은 Start Line 입니다.
  • HTTP messages의 구조는 Start Line, Headers, Body로 구분됩니다.
  • GET method는 URL에 맞는 리소스를 요청합니다.

웹 아키텍처

  • 브라우저는 HTML, CSS, JS 등으로 작성된 코드를 내부 엔진으로 해독하여 사용자가 쉽게 이해할 수 있는 형태의 컨텐츠로 보여주는 역할을 합니다.
  • 클라이언트는 서버의 자원을 어떻게 사용할 수 있는지 명시해둔 인터페이스 요청을 API라고 부른다.
  • 클라이언트와 서버가 서로 요청과 응답을 주고 받을 수 있는 이유는 HTTP 통신 규약 덕분이다.

클라이언트와 서버의 역할

  • 클라이언트: 서버로부터 받은 응답에 따라 다른 화면을 표시합니다. 또한 유저와의 전반적인 상호작용을 담당합니다.
  • 서버: 클라이언트 요청에 따라 적절한 응답을 돌려줍니다.

AJAX

  • AJAX를 통해 클라이언트는 필요한 데이터만 서버를 통해 비동기적으로 받고, 페이지의 일부만 동적으로 업데이트 할 수 있다. 따라서 비동기적인 웹앱 제작을 위한 웹 개발 기법이다.
  • fetch API를 통해 AJAX 요청을 보낼 수 있다.

preflight request

  • 실질적인 요청 전, OPTIONS 메소드를 통해 발생한다.
  • 실제 요청이 안전한지 서버가 미리 파악할 수 있도록 하는 수단이다.
  • 모든 cross origin 요청이 preflight request를 발생시키는 것은 아니다.

HTTP 설명

  • 클라이언트와 서버간 요청-응답이 이루어지는 과정이다.
  • 브라우저와 서버가 통신할 수 있도록 만들어 주는 여러 프로토콜 가운데 한 종류다.
  • 서버가 처리할 수 없는 요청의 경우, 500번대 status code를 반환합니다.
  • 서버는 클라이언트 요청에 대해 무조건 응답합니다.

AJAX

  • AJAX를 통해 클라이언트는 필요한 데이터만 서버를 통해 비동기적으로 받고, 페이지의 일부만 동적으로 업데이트 할 수 있습니다.
profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글