Get
: 클라이언트에서 서버로 데이터를 전달할 때, 주소 뒤에 "이름"과 "값"이 결합된 스트링 형태로 전달
: 주소창에 쿼리 스트링이 그대로 보여지기 때문에 보안성이 떨어짐
: 길이제한이 있음
: Post방식보다 상대적으로 전송 속도가 빠름
Post
: 일정 크기 이상의 데이터를 보내야 할 때 사용
: 서버로 보내기 전에 인코딩하고, 전송 후 서버에서는 다시 디코딩 작업을 함
: 주소창에 전송하는 데이터의 정보가 노출되지 않아 Get방식에 비해 보안성이 높음
: 속도가 Get방식보다 느림
: 쿼리스트링(문자열) 데이터 뿐만 아니라, 라디오 버튼, 텍스트 박스 같은 객체들의 값도 전송가능
차이점
: Get은 주로 웹 브라우저가 웹 서버에 데이터를 요청할 때 사용
: Get은 사용하면 웹 브라우저에서 웹 서버로 전달되는 데이터가 인코딩 되어 URL에 붙음
: Get방식은 전달되는 데이터가 255개 문자를 초과하면 문제가 발생할 수 있음
: Post는 웹 브라우저가 웹 서버에 데이터를 전달하기 위해 사용
: Post는 전달되는 데이터가 보이지 않음
: 웹 서버에 많은 데이터를 전달하기 위해서는 Post 사용하는게 바람직함
다는 것은 아니지만 URL에 데이터가 노출되지 않아 GET보다는 안전합니다.
:클라이언트와 서버가 웹페이지를 주고받는 통신규약.
주요 메소드 5가지
GET은 보통 리소스를 조회할 때 사용하며, 서버에 전달하고 싶은 데이터는 query를 통해서 전달한다. 메시지 바디를 사용해서 데이터를 전달할 수는 있지만, 지원하지 않는 곳이 많아서 권장하지 않는다. (리소스 조회)
POST는 데이터 요청을 처리하고, 메시지 바디를 통해 서버로 데이터를 전달한다. 주로 신규 리소스를 등록하거나 프로세스 처리에 사용된다. (요청 데이터 처리)
PUT은 리소스가 있으면 대체하고 리소스가 없으면 생성한다. 쉽게 말해 데이터를 덮어쓴다.(리소스를 대체)
PATCH는 PUT과 마찬가지로 리소스를 수정할 때 사용하지만, PATCH는 리소스를 일부분만 변경할 수 있다.(리소스를 일부만 변경)
DELETE는 리소스를 제거할때 사용한다. (리소스 삭제)
Session과 Cookie 사용 이유
Session
Cookie
🥰 보안성이 낮은 Cookie 대신 Session을 사용하면 되는데 안하는 이유?
🤗 모든 정보를 Session에 저장하면 Server의 메모리를 과도하게 사용하게 되어 Server에 무리가 감
Library 의 개요
단순하게 활용 가능한 도구들의 집합. 개발자가 필요에 의해 만든 클래스를 호출하여 사용하는 방식
Framework 의 개요
뼈대 또는 핵심 구조를 뜻하는 기술. 소프트웨어의 특정 문제를 해결하기 위해 상호간 의존하는 클래스와 인터페이스의 집합. 완성된 어플리케이션이 아니므로 개발자가 완성시켜야 한다.
특정 개념의 추상화를 제공하는 여러 클래스나 컴포넌트로 구성된다(재사용이 가능한 컴포넌트).
결론 : Library 와 Framework 의 차이점 개발 주도성이 어디에 있는가?
프레임워크는 프로세스를 가지고 있으며 개발자(사용자)는 프레임워크 안에서 필요한 코드를 작성
라이브러리는 개발자가 프로세스를 작성하면서 필요한 코드를 가져다 사용
즉, 라이브러리는 개발자에게 주도성이 있으며 프레임워크는 개발자가 아닌 핵심 구조 안에 프로세스에 대한 주도성이 담겨 있다.
REST API는 자원(Resouce), 행위(Verb) - HTTP Method, 표현 (Representations)로 이루어져 있다. HTTP 통신 프로토콜을 이용해서 요청과 응답메시지를 주고받는것. HTTP 통신을 기반으로 하기 때문에 HTTP 요청을 보낼 수 있는 모든 언어, 환경에서 사용 가능 하다. Rest API 설계시 가장 중요한점은 첫 번째, URI는 정보의 자원을 표현해야 한다. 두 번째, 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현한다.
restful은 restAPI를 제공하는 웹서비스.
: 시스템에서 더이상 사용하지 않는 동적 할당된 메모리 블럭을 찾아 자동으로 다시 사용 가능한 자원으로 회수하는 것으로 시스템에서 가비지컬렉션을 수행하는 부분을 가비지 컬렉터라고 부름.
Interface
Abstract
공통점
차이점
쓰레드 : 프로세스내에서 동시에 실행되는 독립적인 실행 단위를 말함, 장점으로는 자원을 많이 사용하지 않고 구현이 쉬우며 범용성이 높다
프로세스 : 운영체제에서 실행중인 하나의 프로그램(하나 이상의 쓰레드를 포함한다.)
: 클래스란? 객체를 정의해 놓은것. 객체를 생성하는데 사용 (제품 설계도)
객체란 실제로 존재하는 것, 사물 또는 개념 (제품)
: 문제를 해결하는 절차
좋은 내용 감사합니다 멋지네요! 저도 개발 공부하는 중인데, https://quantpro.co.kr/ 해당 사이트 퀀트 내용 어떤지 의견주시면 감사하겠습니다!