웹 기초 개념 정리

항목 정의 비고
HTTP 1. html, 이미지, 비디오 과 같은 파일을 전송할 수 있는 규약( 프로토콜 )
  1. 인터넷상에서 서버와 클라이언트가 hypertext 파일을 주고 받기 위해해 표준화된 규칙 | 1. Hypertext(하이퍼 링크) - 웹페이지에서 렌더링 가능한 텍스트 버튼
  2. hypertext를 포함하는 파일이 → HTML (hypertext markup language) | | HTTP message | 일반 문서를 뛰어넘는 구조화된 텍스트를 전송하기 위해 클라이언트가 통신할때 사용하는 메세지 | | | HTTP header | 3분분으로 나뉘는(Start line, http header, entity header) 전체 http 메세지의 내용을 요약해놓은 부분 | - Start line: Get/Post 와 같은 http 메서드 형태, 서버의 주소, HTTP의 버전, Statu코드를 포함. | | HTTP 메서드 | 웹 서버에게 어떤 작업을 수행하길 원하는지 알리는 방법을 정의하는 명령 규칙 | put과 patch 차이: put은 전체적인 수정이 필요할 때 사용, patch는 전체의 부분적인 수정이 필요할 떄 | | HTTP Status 코드 | 다양한 응답을 통일된 큐칙으로 전송하기 위해 | 200: 요청을 성공했고 body에 응답 데이터도 왔을 때 201: 새로운 리소스가 성공적으로 생성됨 (게시글 등록) 204: 오청을 성공했으나 별도로 body에반환할 데이터 없을 때 (게시글 업데이트)

301: 웹사이트 주소가 변겨오디었을 때 302: 일시적인 페이지 주소 이동

400: 클라이언트쪽 데이터 형식 잘못 구현했을 떄 401: 로그인하지않고 회원만 볼 수 있는 행위 할 때 403: 권한 없는 요청 보냈을 때 404: 요청한 데이터 서버에서 없을 떄

500: 요청이나 데이터에 문제 없지만 서버에서 예상치 못한 문제가 발생 했을 때 503: 과부하로인해 일시적으로 서버를 사용 불가능할 때 | | HTTPS | HTTP의 전송 계층에 인증과 암호화를 적용해 보안을 강화시킨 통신 규약 | SSL, TLS 인증서를 성치하여 HTTPS를 활성화 할 수 있다. | | Node | 데이터 통신망에서, 데이터를 전송하는 통로에 접속되는 하나 이상의 기능 단위 | | | javascript | 웹 프로그램을 동적으로 만들기 위해 사용되는 프로그램 언어 | | | Node.js | 어디에서나 javascript를 사용할 수 있도록 하는 런타임 환경 | 자바스크립트로 코드를 작성하고 프론트 서버를 구축할때 Node.js를 사용한다 | | package.json | javaScript 프로젝트의 설정과 의존성을 명세하는 파일 | | | Pm2 | Node.js 기반의 프로젝트를 안전적이고 편리하게 배포하고 관리하기 위한 것 | | | URL | 통합 자원 탐지기 | | | URL의 Query string | 1.url의 끝부분에 있는 key=value 형태의 파라미터 값 2. 클라이언트가 서버에 추가 정보를 전달하기 위해 사용하는 문자열 | | | URL의 Path varialble | 1. URL의 경로 부분에 포함되어 특정 자원을 식별하는 변수 | 특정데이터를 접근할 때 사용된다 | | SQL | 데이터베이스 시스템에서 자료를 처리하는 용도로 사용되는 구조적 데이터 질의 언어 | | | 관계형 데이터베이스 | 테이블(컬럼,행)로 관리하는 데이터 베이스 | | | 정규화 | 데이터의 중복을 최소화하도록 구조하는 프로세스 | | | bcrypt | blowfish 알고리즘을 기반으로 한 단방향 암호화 해시 함수 | salt과 saltRound를 더해서 보안은 강화 할 수 있다 | | Connectionless | 클라이언트가 서버에 요청을 하고 응답을 받으면 그 즉시 연결을 끊는다. | 각 요청이 서로 독립적으로 처리되어 서버가 많은 클라이언트를 처리 가능하다 | | 인증 | 사용자의 신원을 확인하는 과정 | 로그인 | | 인가 | 인증된 사용자에게 접근 권한을 부여하는 과정 | 권한 부여 | | 세션과 JWT토큰 | 특정 인증서와 같은 문서를 통해 본인을 인증하는 방식 | 세션에는 공개되면 문제되는 정보를 저장한다 | | 쿠키 | 사용자의 정보가 저장되는 파일 | - 공개되도 괜찮은 파일들이 저장됨

  1. 세션(Session): 서버에서 사용자 상태를 관리하며, 주로 쿠키를 통해 세션 ID를 전달.

  2. 토큰(Token): 클라이언트에서 상태를 저장하며, 주로 JWT를 사용하여 서버에서 인증.

  3. 쿠키(Cookie): 클라이언트가 데이터를 저장하는 방법으로, 세션 ID 또는 JWT를 저장하는 데 사용. | | 프레임워크 | - 내가 만들고 있는 앱의 기반이 되는 프로그램