TCP/IP 4계층 애플리케이션 계층 유저에게 제공되는 애플리케이션에서 사용하는 통신의 움직임을 결정. HTTP도 이 계층에 포함. 트랜스포트 계층 애플리케이션 계층에 네트워크로 접속되어있는 2대의 컴퓨터 사이의 데이터 흐름을 제공. 서로 다른 성질을 가진 TCP(Transmission Control Protocol)와 UDP(User Data Proto...
정의 HTTP(HyperText Transfer Protocol)은 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜이다. (HTTP는 클라이언트와 서버의 역할을 명확하게 구별하고 있다.) 애플리케이션 레벨(응용 계층)의 프로토콜로 TCP/IP 위에서 동작한다. 무상태 프로토콜이며, Method, Path, Version, Headers, Bo...
GET: 리소스 획득 주로 리소스(데이터)를 읽거나 검색하는 용도로 사용한다. 바디에 데이터를 담을 수 없고, url 뒤에 QueryParam 형태로 보낸다. 요청이 성공적으로 반환되면 200(OK) 상태코드가 내려온다. Get 요청은 Idempotent(멱등)하기 때문에 여러 번 요청을 보내도 매번 같은 응답을 받는다. POST : 리소스 생성 일반적으...
1xx / Informational / 리퀘스트를 받아들여 처리중2xx / Success / 리퀘스트를 정상적으로 처리했음3xx / Redirection / 리퀘스트를 완료하기 위해서 추가 동작이 필요4xx / Client Error / 서버는 리퀘스트 이해 불가능5x
웹 서버란? 웹 브라우저로부터 HTTP 요청을 받아 적절한 정적 페이지를 응답해주는 서버 대표적으로 Apache, Nginx 등이 있다. Nginx는 비동기 논블로킹으로 요청을 처리한다는 특징이 있다. 더 적은 자원으로 빠른 성능을 낼 수 있다. 리버스 프록시
HTTP의 한계 HTTP 와 같이 암호화하지 않은(평문 통신인) 프로토콜은 도청 가능, 위장가능, 변조 가능 의 위험성을 가지고 있다. TCP/IP는 전세계 적으로 연결된 네트워크로 되어있고 내가 보내는 통신이 다른 사람 소유의 케이블을 거의 반드시 지나가게 된다. 따라서 악의를 가진 누군가가 통신내용을 엿볼 수 있다. 서버는 통신 상대를 확인하지 않기 ...
인증이란? 인증이란 서버에 액세스하고 있는 사람이 누군지 확인하는 것이다. HTTP/1.1 에서는 BASIC 인증, DIGEST 인증, SSL 클라이언트 인증, 폼 베이스 인증 등을 사용한다. BASIC 인증 기본적인 인증방식으로 클라이언트가 리퀘스트를 보내면, 서버는 상태코드 401로 응답해서 인증이 필요하다는 것을 전달한다. 그러면 클라이언트는 유저...
브라우저에서 양방향 통신을 하는 웹소켓(WebSocket) 웹브라우저와 웹서버를 위한 양방향 통신 규격이다. 한번 접속하면 그 뒤로는 서버든 클라이언트든 자유롭게 데이터를 주고받을 수 있다. 초기연결은 HTTP 방식으로 연결하고 요청에 Connection: Upgra
웹 사이트 방문기록등 사용자와 웹사이트 사이를 매개해주는 정보들 텍스트파일로 보관응답 헤더에 내려온 쿠키를 보관하고 있다가 다음 요청에 다시 헤더에 실어서 보냄key value 형태의 문자열이며 4kb이상 저장이 불가능하다.저장한 데이터를 명시적으로 지우지 않는 동안
정의 CORS(Cross-Origin Resource sharing)은 다른 도메인간 자원공유를 말한다. 브라우저간 데이터를 주고 받는 과정에서 서로 다른 도메인간 API요청을 보내면 CORS 에러가 발생한다. 필요한 이유? 내가 허용한 Origin 들만 요청할 수