웹 공부하기

    [인프런] 모든 개발자를 위한 HTTP 웹 기본 지식 (HTTP 메서드)

    HTTP API를 설계할 때 사용되는 HTTP 메서드에 대해 알아보자! HTTP API 를 만들어보자 회원 정보 관리 API를 만든다고 가정해보자. 회원 목록 조회, 회원 조회, 회원 등록, 회원 수정, 회원 삭제에 대한 API를 만들어야 한다. 그에 맞는 URI를 설계해야 하는데, 이 때 /create-member 이런 식으로 설계하면 좋은 설계는 아니다..! 왜? 리소스를 식별할 수 있도록 설계하는 것이 가장 좋은 방법! 리소스란? 회원을 등록하고 수정, 조회하는 행동이 리소스가 아니라 여기서는 회원 자체가 리소스인 것이다. 리소스를 어떻게 식별하는 게 좋을까? 회원이라는 리소스만 식별하면 되고, 회원 리소스를 URI에 매핑한다. 회원 조회를 /members/{id}로 했을 때, 회원 등록도 /mem..

    [인프런] 모든 개발자를 위한 HTTP 웹 기본 지식 (HTTP 메세지)

    HTTP 메세지에 대해 알아보자. HTTP 메세지 HTTP 메세지는 요청 메세지와 응답 메시지로 나뉜다. HTTP 메시지 구조는 다음과 같으며, 요청 메세지와 응답 메세지의 차이는 시작 라인이다. 그리고 공백 라인은 꼭!!! 필수로 빠지면 안된다. body 부분은 선택사항이다. HTTP 요청 메세지의 시작 라인 start-line 중 request-line 으로, method (공백) request-target (공백) HTTP-version (엔터) 로 구성된다. method: 서버가 수행해야 할 동작을 지정하는 HTTP 메서드가 들어간다. 이건 다음 챕터에서 더 자세히 다룰 예정이다. request-target: 요청 대상을 적는 곳이다. 절대 경로 '/'로 시작하는 경로와 '?'로 시작하는 쿼리를 ..

    [인프런] 모든 개발자를 위한 HTTP 웹 기본 지식 (HTTP 기본)

    HTTP가 무엇인지 알아보고, HTTP의 특징에 대해 살펴보자. 모든 것이 HTTP HTTP: HyperText Transfer Protocol HTTP 메세지에 모든 것을 전송하는 시대이다. 맨 처음에는 HTML, Text를 전송하기 위해 나왔는데, 요즘은 이미지, 음성, 영상 파일 뿐 아니라 json, xml, 서버 간에 데이터를 주고 받을 때도 사용되어 거의 모든 형태의 데이터가 전송 가능하다. HTTP 버전 중 가장 많이 사용되고 있는 1.1 버전의 내용을 잘 알아두자. 1.1 이후에 나온 2, 3 버전은 1.1 기반으로 성능 개선만 한 버전이기 때문에 1.1 버전을 잘 알아두면 이해하는데 무리가 없다. HTTP/1.1, HTTP/2 는 TCP 기반 프로토콜이고, HTTP/3 은 UDP 기반 프로..

    [인프런] 따라하며 배우는 노드, 리액트 시리즈 - 기본 강의 (Node.js, Express.js, MongoDB)

    서버를 위한 환경 세팅을 해보자. #2 node.js와 express.js 다운로드 하기 node.js는 자바스크립트를 서버 사이드에서 쓸 수 있는 언어, express.js는 node.js를 좀 더 쉽게 사용하기 위한 프레임워크 Node js 설치 -> 터미널에서 node –v 명령어로 설치 여부 및 버전 확인 npm init 후, vscode에서 폴더 열기 -> 터미널에서 express.js 설치 npm install express -–save --save 의미: package.json에 해당 라이브러리를 사용한다고 표시됨 Index.js에 작성한 코드 const express = require('express') // express module 가져옴 const app = express() // e..

    [인프런] 모든 개발자를 위한 HTTP 웹 기본 지식 (URI와 웹 브라우저 요청 흐름)

    URI의 개념과 웹 브라우저 요청 흐름에 대해 알아보자. URI Uniform: 리소스를 식별하는 통일된 방식 Resource: 자원 = URI로 식별할 수 있는 모든 것을 의미 (제한 없음) Identifier: 다른 항목과 구분하는데 필요한 정보 URI는 URL과 URN을 포함한다. URL은 리소스가 있는 위치가 지정되어 있고, URN은 리소스에 이름을 부여하는 것이다. URN 이름으로만 실제 리소스를 찾을 수 있는 방법이 보편화 되어있지 않아서 거의 사용하지 않는다. 따라서 URI를 URL과 같은 의미로 봐도 무방하다. URL 분석 https://www.google.com/search?q=hello&hl=ko scheme://[userinfo@]host[:port][/path][?query][#fr..

    [인프런] 모든 개발자를 위한 HTTP 웹 기본 지식 (인터넷 네트워크)

    웹이나 HTTP도 인터넷 네트워크 망을 기반으로 동작하기에 기초 지식을 배워보자! 인터넷 통신 인터넷에서 컴퓨터 둘은 어떻게 통신할까? 그냥 케이블 연결해서 하면 되지 않아? 그럼 엄청 멀리 떨어져 있는 컴퓨터들 (해외에 있다면?) 어떻게 통신해? 인터넷을 통해 전달을 하려하는데 인터넷은 되게 복잡한 구조로 되어 있어서 여러 규칙들에 의해 전달된다. 그럼 그 규칙은 무엇일까? IP (인터넷 프로토콜) 그 규칙은 IP 즉, 인터넷 프로토콜을 이용하는 방법이다. 클라이언트(나)와 서버(친구)에게 각각 다른 IP 주소를 부여한다. 인터넷 프로토콜의 역할은 지정한 IP 주소에 데이터를 전달하는 것이다. 이 때, 패킷(Packet)이라는 통신 단위를 사용한다. IP 패킷에는 출발지 IP, 목적지 IP, 기타 내용..