HTTP
-
[WEB] HTTP의 ConnectionlessWEB 2024. 10. 14. 09:00
비연결성(Connectionless)HTTP는 기본적으로 연결을 유지하지 않는 모델이다. 즉 서버와 클라이언트의 connection을 지속하지 않는다.1시간 동안 수천 명 이상이 서비스를 사용해도 실제 서버에서 동시에 처리하는 요청은 수 십 개 이하로 적다.이러한 비연결성의 특징으로 인해 서버 자원을 효율적으로 사용할 수 있다. Stateless와 Connectionless의 차이Stateless(무상태성): 필요한 상태에 대한 정보를 클라이언트가 가지고 오기 때문에 클라이언트의 요청에 어느 서버가 응답해도 상관 없음. 따라서 클라이언트의 요청이 대폭 증가하면 서버를 증설해 해결 가능.Connectionless(비연결성): 클라이언트가 서버에 요청을 하고 응답을 받으면 바로 TCP/IP 연결을 끊어 ..
-
[WEB] HTTP의 Stateful과 StatelessWEB 2024. 10. 11. 09:00
클라이언트(client)와 서버(server) 간의 통신을 상태 유지하느냐(stateful), 상태 유지하지 않느냐(stateless) 같은 말을 한 번쯤은 들어봤을 것이다. 여기서 '상태'라는 건 어떤 정보를 말하는 거 같은데 stateful과 stateless에 대해 좀 더 파악해 보는 시간을 가져보려 한다. Stateful(상태 유지) 상태 유지라는 건 클라이언트와 서버 사이의 관계에서 서버가 클라이언트의 상태를 보존하는 것을 의미한다. 클라이언트와 서버 간에 송수신을 하며 단계별 과정들을 진행하는 데 있어 서버에서 클라이언트가 이전 단계에서 제공한 값을 저장하고 다음 단계에서도 저장한 상태이다. 대표적인 예로 홈페이지에서 회원 로그인을 하면 페이지를 이동해도 서버는 클라이언트의 상태를 유지(..
-
[WEB] HTTP란? HTTP의 기본 개념 이해하기WEB 2024. 10. 2. 09:00
HTTP(Hyper Text Transfer Protocol)란 클라이언트와 서버가 서로 데이터를 주고받기 위해 사용되는 통신 규약이다. 웹 문서 간에 링크를 통해 연결할 수 있는 프로토콜이며, 문서뿐 아니라 HTML이나 TEXT, 이미지, 음성, 영상, 파일, JSON, XML(API) 등 여러 종류의 데이터들을 폭 넓게 전송할 수 있다. 따라서 서버 간에 데이터를 주고받을 때 대부분 HTTP라는 프로토콜을 사용해 통신한다고 봐도 무방하다. 예를 들어 인터넷 주소를 지정할 때 http://www.naver.com와 같이 시작하는 것은 www.naver.com이라는 인터넷 주소가 가진 데이터 정보 등의 교환을 HTTP의 통신 규약대로 처리하라는 것을 의미한다고 볼 수 있다. cf) 인터넷 기반 서비스..
-
[Node] http 모듈 이용하여 서버 구축하기Javascript/Node 2020. 10. 13. 12:23
웹 프레임워크(express 등)를 사용하지 않고 http 모듈을 사용하여 서버를 구축하는 방법 간단한 로직인 경우에는 express로 구축하는 것 보다 http 모듈을 활용하는 것이 성능적으로 더 뛰어남 예시 소스 'use strict' const http = require('http'); // 서버 생성 const server = http.createServer((req, res) => { // 요청에 대한 결과를 보낼 때 200일 경우 정상 작동 res.statusCode = 200 // 해당하는 데이터로 어떠한 것을 보냈는지 명시적으로 선언 res.setHeader('Content-type', 'text/html'); // html 문서를 리턴한다. // 종료 res.end('Hello World..