Study/Computer Science 7

[CS] HTTP Method

알고있으면 좋은 Computer Science Tip✨ HTTP Method란 무엇인가? 클라이언트와 서버 사이에 이루어지는 요청(Request)과 응답(Response) 데이터를 전송하는 방식을 일컫는다. 쉽게 말하면 서버에 주어진 리소스에 수행하길 원하는 행동, 서버가 수행해야 할 동작을 지정하는 요청을 보내는 방법이다. HTTP 메서드의 종류는 총 9가지가 있다. 이 중 주로 쓰이는 메서드는 5가지로 보면 된다. 주요 메서드 GET : 리소스 조회 POST : 요청 데이터 처리, 보통 등록에 사용 PUT : 리소스틀 덮어쓰기, 해당 리소스가 없는 경우에는 생성 (PUT 전체 변경) PATCH : 리소스 부분 변경 (PATCH 일부 변경) DELETE : 리소스 삭제 기타 메서드 HEAD : GET과..

[CS] TDD(Test-Driven-Development)

알고있으면 좋은 Computer Science Tip✨ TDD란 무엇인가? TDD란 Test Driven Development의 약자로 '테스트 주도 개발'이라고 한다. 반복 테스트를 이용한 소프트웨어 방법론으로, 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현한다. 짧은 개발 주기의 반복에 의존하는 개발 프로세스이며 애자일 방법론 중 하나인 eXtream Programming(XP)의 'Test-First' 개념에 기반을 둔 단순한 설계를 중요시한다. 이 기법을 개발했거나 '재발견' 한 것으로 인정되는 Kent Beck은 2003년에 TDD가 단순한 설계를 장려하고 자신감을 불어넣어 준다고 말하였다. (1) TDD 개발주기 Red 단계에서는 실패하는 테스트 코드..

[CS] HTTP & HTTPS

알고있으면 좋은 Computer Science Tip✨ HTTP란 무엇인가? HTTP(Hyper Text Transfer Protocol)란 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜이다. 즉, HTTP는 인터넷에서 하이퍼텍스트를 교환하기 위한 통신 규약으로, 80번 포트를 사용하고 있다. 따라서 HTTP 서버가 80번 포트에서 요청을 기다리고 있으며, 클라이언트는 80번 포트로 요청을 보내게 된다. (1) HTTP의 구조 HTTP는 애플리케이션 레벨의 프로토콜이기 때문에 TCP/IP 위에서 동작한다. HTTP는 상태를 가지지 않은 Stateless 프로토콜이며 Method, Path, Version, Headers, Body 등으로 구성된다. 하지만 HTTP는 암호화가 되지 않은 평..

[CS] REST API

알고있으면 좋은 Computer Science Tip✨ REST API란 무엇인가? REST API는 REST를 기반으로 만들어진 API를 의미한다. (1) REST란? 자원을 이름으로 구분하여 해당 자원의 상태(정보)를 주고받는 모든 것을 의미한다. 자원의 표현 자원 : 해당 소프트웨어가 관리하는 모든 것이다. 자원의 표현 : 그 자원을 표현하기 위한 이름을 말한다. 상태(정보) 전달 데이터가 요청되어지는 시점에 자원의 상태(정보)를 전달한다. JSON 혹은 XML를 통해 데이터를 주고 받는 것이 일반적이다. HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통..

[CS] CORS

알고있으면 좋은 Computer Science Tip✨ CORS란 무엇인가? CORS(Cross-Origin Resource Sharing)는 출처가 다른 자원들을 공유한다는 뜻으로, 한 출처에 있는 자원에서 다른 출처에 있는 자원에 접근하도록 하는 개념이다. 쉽게 말해, 교차되는 출처 자원들의 공유이다. 다른 출처에 있는 자원을 요청하는 경우, 이를 교차 출처 요청이라고 부른다. 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제이다. (1) CORS가 필요한 이유 CORS가 없이 모든 곳에서 데이터를 요청..

[CS] 주소창에 URL 입력 시 사용자에게 보여주기까지 과정

알고있으면 좋은 Computer Science Tip✨ 웹 브라우저에 URL을 입력하고 사용자에게 보여주기까지 과정은? 주소창에 URL을 입력하면 다음 단계들로 이루어진다. 사용자가 웹 브라우저를 통해 google.com 을 입력하면 URL 주소 중 도메인 네임 부분을 DNS 서버에서 검색한다. DNS 서버에서 해당 도메인 네임에 해당하는 IP 주소를 찾아 사용자가 입력한 URL 정보와 함께 전달한다. 브라우저는 HTTP 프로토콜을 사용하여 요청 메시지를 생성하고 HTTP 요청 메시지는 TCP/IP 프로토콜을 사용하여 서버로 전송된다. DOM 과 CSSOM을 조합하여 렌더트리를 구축한다. (display : none 속성은 렌더트리로 구축되지 않는다.) 서버는 response 메시지를 생성하여 다시 브라..

[CS] 브라우저의 렌더링 원리

알고있으면 좋은 Computer Science Tip✨ 브라우저의 렌더링 원리(작동 원리)는? 브라우저가 화면에 나타나는 요소를 렌더링 할 때, 웹킷(Webkit)이나 게코(Gecko) 등과 같은 렌더링엔진 을 사용한다. 렌더링 엔진이 HTML, CSS, JavaScript로 렌더링 할 때 CRP라는 프로세스를 사용하며 다음 단계들로 이루어진다. HTML을 파싱 후, DOM트리를 구축한다. CSS를 파싱 후, CSSOM트리를 구축한다. 자바스크립트를 실행한다. (HTML 중간에 스크립트 태그가 있다면 HTML 파싱이 중단된다.) DOM 과 CSSOM을 조합하여 렌더트리를 구축한다. (display : none 속성은 렌더트리로 구축되지 않는다.) 뷰포트 기반으로 렌더트리의 각 노드가 가지는 정확한 위치와..