HTTP / 네트워크

선유준·2023년 1월 30일
0

CS

목록 보기
1/7

HTTP

  • HTTP (Hyper Text Transfer Protocol)는 하이퍼 텍스트 문서 교환을 위한 프로토콜이다.
  • 클라이언트와 웹 서버간 데이터를 주고받기 위한 통신규약으로 볼 수 있다.

특징

  • 무상태(Stateless) : 말 그대로 상태를 가지지 않는다는 뜻이며 클라이언트와 서버가 통신을 주고받는 과정에서 상태나 데이터를 유지하지 않는다.
    (필요에 따라서 cookie, session api를 이용하여 상태를 확인할 수 있다)
  • port번호 : 80

HTTP Messages

HTTP Messages에는 요청(request), 응답(response)이 있다.

클라이언트에서 서비스를 URI를 통해 요청하면, 서버에서는 결과를 응답하는 형태이다.

요청

start line : 요청이나 응답의 상태를 나타낸다. 항상 첫 번째 줄에 위치하며, 응답에서는 status line으로 표현한다.
(버전에 따라 HTTP Message의 구조가 달라지므로 버전도 입력해야함)

HTTP headers : 요청을 지정하거나, 메시지에 포함된 본문을 설명한>다.

empty line : 헤더와 본문(body)을 구분하는 공백 줄이다.

body : 요청과 관련된 데이터나 응답과 관련된 데이터 또는 문서를 포함한다.

응답

start line : 프로토콜의 버전, 상태코드, 상태 메세지의 정보를 담고있다.
...

네트워크

API

  • API(Application Programming Interface) 란 프로그래밍 언어가 제공하는 기능을 잘 활용할 수 있도록 인터페이스를 제공하는 것이다.

  • API는 공개범위에 따라 3가지로 분류된다
    ( Private API, Public API, Partner API )
    Private API는 간소화되며 빠른 프로세스 처리를 도와준다.
    Public / Partner API 는 브랜드 인지도를 높힐 수 있다.

AJAX

  • AJAX( Asynchronous JavaScript And XMLHttpRequest )
    JS, DOM, Fetch 등..의 기술을 사용하는 웹 개발 기법으로, 페이지에 필요한 부분 / 필요한 데이터만 비동기적으로 받아올 수 있다.

  • 웹 페이지의 일부분만 변경하고 싶을 때 사용한다.

장단점

장점 :

  1. 서버에서 HTML을 완성하여 보내주지 않아도 렌더링이 가능하다.
  2. 더 나은 UX(유저 경험)을 제공한다. => 더 많은 상호작용이 가능한 앱을 제작 가능.

단점 :

  1. SEO에 불리하다.
  2. 이전 상태를 기억하지 않기 때문에 뒤로가기가 되지 않는다.

SSR / CSR

SSR과 CSR은 페이지가 렌더링되는 위치에 따라 정의가 달라진다.

SSR은 Server Side Rendering 으로 서버에서 페이지를 렌더링 한다.

  • 웹 페이지의 첫 화면 렌더링이 빠르게 필요한 경우, SEO(Search Engine Optimization) 가 우선 순위인 경우 사용한다.

CSR은 Client Side Rendering 으로 브라우저(클라이언트)에서 페이지를 렌더링 한다.

  • 사이트에 풍부한 상호 작용이 있는 경우, UX(빠른 동적 렌더링 등)을 생각해야 할 때 사용한다.
profile
매일매일 발전하는 개발자를 목표로!

0개의 댓글