본문 바로가기

반응형

💻 개발자/🚀 HTTP, 네트워크

(5)
[네트워크] CORS(교차 출처 리소스 공유) 그동안 잘 이해가 되지 않던 CORS(Cross-Origin Resource Sharing)에 대해 (내가 이해한 것 까지) 포스팅을 해보고자 한다. CORS mdn 영어 원문을 보고 참조하였으나 오역이나 의역이 있을 수 있다. CORS(교차 출처 리소스 공유)는 브라우저가 리소스 접근을 허용해야 하는 출처(same origin)가 아닌 다른 출처(도메인, 프로토콜, 포트 등이 다른)를 서버가 나타낼 수 있도록 하는 HTTP-header 기반 메커니즘이다. 또한 CORS는 서버가 실제 요청을 허용하는지 확인하기 위해 브라우저가 교차 출처 리소스(cross-origin resource)를 호스팅 하는 서버에 "preflight" 요청을 하는 메커니즘에 의존한다. 해당 preflight에서 브라우저는 실제 ..
[네트워크] 브라우저의 작동 원리 2 (보이는 곳) 🔎 SPA를 만드는 기술 : AJAX AJAX가 나오기 이전에는 페이지 전환으로 인해 필요한 부분뿐만 아니라 페이지 전체를 로딩했다. 이후 Dynamic web page가 등장하고 이는 서버와 자유롭게 통신할 수 있고, 페이지 깜빡임 없이 seamless하게 작동되었다. 또한 이것은 단순한 web page가 아닌 web app의 등장을 의미하기도 했다. 서버와 자유롭게 통신 XMLHttpRequest (XHR)의 등장 페이지 깜빡임 없이 seamless 하게 작동 JavaScript와 DOM 이용 이 두 가지 요소를 합쳐서 AJAX(Asynchronous JavaScript and XML)라고 부르기 시작했다. Using XMLHttpRequest var xhr = new XMLHttpRequest();..
[HTTP] HTTP Messages HTTP는 HyperText Transfer Protocol의 줄임말로, HTML고 같은 문서를 전송하기 위한 Application Layer 프로토콜이다. HTTP는 웹 브라우저와 웹 서버의 소통을 위해 디자인되었다. 전통적인 클라이언트-서버 모델에서 클라이언트가 HTTP Messages 양식에 맞춰 요청을 보내면 서버도 HTTP Message 양식에 맞춰 응답한다. HTTP는 특정 상태를 유지하지 않는 특징이 있다. HTTP의 특징 : Stateless(무상태성) 1. HTTP messages HTTP messages는 클라이언트와 서버 사이에서 데이터가 교환되는 방식이다. HTTP messages에는 두 가지 유형이 있다. 요청(Requests) 응답(Responses) HTTP messages는 ..
[네트워크] 브라우저의 작동 원리 1 (보이지 않는 곳) 1. URL과 URI URL은 Uniform Resource Locator의 줄임말로, 네트워크 상에서 웹 페이지, 이미지, 동영상 등의 파일이 위치한 정보를 나타낸다. URL은 scheme, hosts, url-path로 구분할 수 있다. 가장 먼저 작성하는 scheme은 통신 방식(프로토콜)을 결정한다. 일반적인 웹 브라우저에서는 http(s)를 사용한다. hosts는 웹 서버의 이름이나 도메인, IP를 사용하며 주소를 나타낸다. url-path는 웹 서버에서 지정한 루트 디렉토리부터 시작하여 웹 페이지, 이미지, 동영상 등이 위치한 경로와 파일명을 나타낸다. URI는 Uniform Resource Identifier의 줄임말로, 일반적으로 URL의 기본 요소인 scheme, hosts, url-pa..
[HTTP] 클라이언트-서버 아키텍처 1. 클라이언트-서버 아키텍처 리소스가 존재하는 곳과 리소스를 사용하는 앱을 분리시킨 것을 2-Tier 아키텍처, 다른 말로 클라이언트-서버 아키텍처라고 부른다. 보통 서버는 리소스를 전달해 줄 뿐, 리소스를 저장하는 공간은 데이터 베이스라는 창고에 둔다. 이처럼 클라이언트-서버 아키텍처에 데이터 베이스가 추가된 형태를 3-Tier 아키텍처라고 한다. 여기서 프론트엔드 개발과 백엔드 개발이 나오는데 사용자가 눈으로 보고 대면하는 클라이언트 앱을 프론트엔드 영역 사용자 눈에 직접 보이지 않게 뒤에서 작동하는 서버 앱을 백엔드 영역이라고 부른다. 2. HTTP를 이용한 클라이언트-서버 통신과 API 클라이언트와 서버 간의 통신은 요청과 응답으로 구성된다. 여기서 요청이 있어야만 응답이 올 수 있다. 하지만 ..

반응형