cptkuk91.log
로그인
cptkuk91.log
로그인
[CS] HTTP/NetWork 문제 Day-29
cptkuk91
·
2021년 11월 19일
팔로우
0
http
network
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를 통해 클라이언트는 필요한 데이터만 서버를 통해 비동기적으로 받고, 페이지의 일부만 동적으로 업데이트 할 수 있습니다.
cptkuk91
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)
팔로우
이전 포스트
[CS] Postman Day-29
다음 포스트
[CS] React 데이터 흐름 Day-30
0개의 댓글
댓글 작성