Dev 66

HTTP 상태 코드

HTTP 상태 코드, 응답 코드 1xx (정보 전달) 요청을 받았으며 프로세스를 계속함 HTTP/1.0 이후 잘 쓰이지 않다가 101, 103의 등 페이지 로드 속도를 빠르게 하기 위해 다시 사용됨 100 Continue 101 Switching Protocols 102 Processing 수신 요청으로 처리는 하고있지만, 아직 응답을 할 수 없는 상태임을 알리는 코드 103 Early Hints Link Heder와 함께 사용(Link: ; rel=preload; as=style)되며 서버의 응답 전 PreLoading을 할 수 있도록 하는 응답 코드 2xx (성공) 요청을 성공적으로 받았음 200 OK 201 Created 요청이 처리되어 리소스가 만들어짐 POST, PUT 과 같은 Create, M..

Dev/etc. 2022.12.05

HTTP CORS

교차 출처 리소스 공유 (CORS) Cross-Origin Resource Sharing 추가 HTTP 헤더를 사용해, 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제 기본적으로 브라우저는 교차 출처 HTTP 요청을 제한 SOP(Same-Origin Policy) - 동일 출처 정책 사용 사례 XMLHttpRequest, Fetch API 웹 폰트 WebGL drawImage()를 사용해 캔버스에 그린 이미지/비디오 프레임 이미지로부터 추출하는 CSS Shapes 개요 HTTP 헤더 추가 OPTIONS 메소드로 preflight 요청 승인 시 실제 요청 전송 / 서버는 클라이언트에게 인증정보를 요구할 수 있음 시나리오 단순 요청 (Simple requests) pre..

Dev/etc. 2022.12.01

HTTP 메시지

HTTP 메시지 (HTTP/1.1) 서버와 클라이언트 간에 데이터가 교환되는 방식 요청(request) - 클라이언트 to 서버 / 서버의 액션이 일어나게끔 하는 메시지 응답(response) - 요청에 대한 서버의 답변 구조 시작 줄 - 요청, 성공 여부를 한줄로 표현 옵션 - HTTP 헤더 세트 / 요청과 메시지 본문에 대한 설명 빈 줄 - 모든 메타 정보가 전달되었음을 알림 본문 - 요청과 응답에 관련된 문서 / 존재 유뮤는 첫 줄과 헤더에 명시 시작 줄 + 헤더를 합쳐 요청 head라 부르며, 메시지의 페이로드는 body라 부름 요청 (request) 시작 줄 HTTP 메소드 - GET, POST, PUT, ,HEAD, OPTIONS 등.. 타겟 - URL, 프로토콜, 포트, 절대경로로 나타냄 o..

Dev/etc. 2022.11.30

HTTP란?

HTTP란? HyperText Transfer Protocol 하이퍼미디어 문서를 전송하기 위한 애플리케이션 레이어 프로토콜 이론 상 신뢰 가능한 전송 프로토콜이면 무엇이든 사용 가능하나 TCP 혹은 TLS (암호화된 TCP), UDP(HTTP/3)를 통해 전송 request - response 의 구조 클라이언트-서버 모델을 따름 무상태(Stateless) 프로토콜 서버가 클라이언트의 동작이나 상태를 저장하지 않는 형태 즉, 서버와 클라이언트가 독립 쿠키를 통해 세션을 만들어 헤더에 심는 확장이 가능함 HTTP 기반 시스템의 구성 요소 클라이언트 요청을 보내는 개체 요청 - 응답 - 리소스 혼합 - 페이지 갱신 서버 요청에 대한 문서를 제공하는 개체 논리적으로 단일 머신이지만, 여러 개의 서버를 동일한..

Dev/etc. 2022.11.28

2-1. 네트워크 기초, TCP/IP 4계층 모델

네트워크 컴퓨터 등의 장치들이 통신 기술을 이용하여 구축하는 연결망 노드(서버, 라우터, 스위치 등 네트워크 장치)와 링크(유선, 무선)가 서로 연결되어 있거나 연결되어 있지 않은 집합체 처리량과 지연 시간 처리량 (throughput) 링크를 통해 전달되는 단위 시간당 데이터 양 단위 - bps(bits per second), 초당 전송/수신되는 비트 수 사용자들이 많이 접속할 때마다 커지는 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간에 발생하는 에러, 장치의 대역폭 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 지연 시간 (latency) 요청이 처리되는 시간 메시지가 두 장치 사이를 왕복하는데 걸린 시간 매체 타입(무선, 유선), 패킷 크기, 처리 시간에 영향을 받음 네트워..

Dev/etc. 2022.08.18

1. 디자인 패턴과 프로그래밍 패러다임

디자인 패턴 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것 1. 싱글톤 패턴 (Singleton pattern) 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 데이터베이스 연결 모듈에 많이 사용 인스턴스를 공유하며 사용하기 때문에 생성에 드는 비용이 줄어드는 장점 의존성이 높아진다는 단점 / TDD에 부적합 / 의존성 주입 (DI) 를 통해 해결 가능 의존성 주입 시 장점 모듈을 쉽게 교체할 수 있어 테스팅, 마이그레이션이 쉬움 의존성 방향이 일관되고, 애플리케이션을 쉽게 추론할 수 있으며 모듈간의 관계가 명확함 의존성 주입 시 단점 모듈들의 분리로 인한 복잡성 증가, 런타임 패널티 의존성 주입 원칙 상위 모듈은..

Dev/etc. 2022.07.30

HTML,CSS 작업용 VIM세팅하기

home brew 설치 homebrew는 mac OS용 패키지 관리자이고, 터미널에서 다음 코드로 설치가 가능함 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 설치후에 내 mac에 homebrew가 잘 깔렸나 확인하기 위해 아래 명령어를 입력해 확인 brew doctor homebrew 설치 끝 (참고 사이트 : https://brew.sh/index_ko.html ) vim 8.0 설치 vim --version 버전 확인을 통해 7버전이 깔려있다면 8.2버전으로 업그레이드하기 위해 다음과 같이 실행 brew install mercurial brew install vim --with-over..

Dev/etc. 2021.07.12

30. Whack A Mole ( JavaScript30 )

Whack A Mole 목표 두더지잡기 게임 만들기 기본 코드 Whack-a-mole! 0 Start! 과정 변수, 상수 생성 게임 진행 시간 설정 두다지가 올라올 구멍을 정하는 함수 생성 두더지가 올라오고 내려가도록 하는 함수 생성 게임을 시작하기 위한 함수 생성 두더지를 잡았을 때의 함수 생성 두더지를 클릭하면 bonk 실행 코드 분석 1. 변수, 상수 생성 const holes = document.querySelectorAll('.hole'); const scoreBoard = document.querySelector('.score'); const moles = document.querySelectorAll('.mole'); let lastHole; let timeUp = false; let sco..

Dev/JavaScript30 2021.07.11

29. Countdown Timer ( JavaSciprt30 )

Countdown Timer 목표 카운트다운 타이머를 구현 기본 코드 20 Secs Work 5 Quick 15 Snack 20 Lunch Break 과정 변수, 상수 생성 타이머를 진행하는 함수 생성 남은 시간을 출력하는 함수 생성 남은 시간, 분 생성 타이머 시간 설정 함수를 실행하도록 이벤트리스너 생성 코드 분석 1. 변수, 상수 생성 let countdown; const timerDisplay = document.querySelector('.display__time-left'); const endTime = document.querySelector('.display__end-time'); const buttons = document.querySelectorAll('[data-time]'); 변수 ..

Dev/JavaScript30 2021.07.11
반응형