전체 글
-
HTTP 3. HTTP 기본CS 2021. 1. 4. 23:58
1. 모든 것이 HTTP ! HTTP (Hyper Text Transfer Protocol) HTTP 메시지에 모든 것을 전송 HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML (API) 거의 모든 형태의 데이터 전송 가능 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 지금은 HTTP 시대 HTTP 역사 0.9 -> 1.0 -> 1.1 -> 2 -> 3 1.1 버전이 가장 많이 사용되고 가장 중요한 버전이다. 기반 프로토콜 TCP : HTTP/1.1, HTTP/2 UDP : HTTP/3 현재 1.1 주로 사용하고 2, 3 도 점차 증가하고 있다. 특징 클라이언트 서버 구조 무상태 프로토콜, 비연결성 HTTP 메시지 단순함, 확장 가능 2. 클라이언트 서버 구조 Request ..
-
HTTP 2. URI 와 웹 브라우저 요청 흐름CS 2021. 1. 4. 23:03
1. URI (Uniform Resource Identifier) URI 는 Locator, Name 또는 둘 다 추가로 분류될 수 있다. URI Uniform : 리소스 식별하는 통일하는 방식 Resource : 자원, URI로 식별할 수 있는 모든 것 (제한 없음) Identifier : 다른 항목과 구분하는데 필요한 정보 URL : Uniform Resource Locator 리소스가 있는 위치를 지정 URL : Uniform Resource Name 리소스에 이름을 부여 위치는 변할 수 있지만, 이름은 변하지 않는다. URN 이름만으로 실제 리소스를 찾을 수 있는 방법은 보편화 되지 않았다. URL 전체 문법 - scheme://[userinfo@]host[:port][/path][? query]..
-
HTTP 1. 인터넷 네트워크CS 2021. 1. 4. 22:30
1. 인터넷 통신 클라이언트 - 서버가 물리적으로 직접 연결되어있으면 요청 -> 응답하면 된다. 하지만 인터넷에선 ? 복잡한 인터넷망의 노드들이 서로 정보를 던져가면서 연결한다. 2. IP (인터넷 프로토콜) 역할 지정한 IP 주소 (IP Address) 에 전달 패킷(Packet) 이라는 통신 단위로 데이터 전달 (패키지라고 생각) 이 IP 패킷이 전송 데이터를 감싸고 있다. IP 패킷 정보에는 출발지 IP, 목적지 IP, etc .. 가 있다. 그러면 클라이언트 IP -> 서버 IP로 데이터를 전송할때는 전송 데이터를 감싼 패킷에는 출발지 ip, 목적지 ip, etc ... 가 담겨있고 인터넷 망속의 노드들에서 이동하면서 서버까지 이동한다. 서버에서 클라이언트로 전달할 때도 마찬가지로 패킷에 전송 데..
-
7. 패키지Java 2021. 1. 2. 12:12
목표 자바의 패키지에 대해 학습하세요. 학습할 것 (필수) package 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 classpath 옵션 접근지시자 1. package 키워드 - 왜 사용 하는가 ? 1. 이름 충돌 방지 college.staff.cse.Employee, college.staff.ee.Employee 이런식으로 두 개의 같은 클래스가 있을때 cse, ee 와 같이 다른 패키지에 넣어서 충돌을 방지 할 수 있다. 2. 클래스, 인터페이스, 이넘, 애노테이션을 찾기 쉽게끔 한다. 패키지를 사용하면 만들거나 찾을때 유용하다. 3. 접근제어자를 통하여 패키지 마다 접근을 다르게 할 수 있다 접근제어자 마다 패키지 접근하는게 다른데 이것을 가능하게 한다. - 패키지 이름 지정..
-
6. 상속Java 2020. 12. 23. 11:27
목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 1. 자바 상속의 특징 Inheritance is an important pillar of OOP. It is the mechanism in java by which one class is allow to inherit the features(fileds and methods) of another class. Important facts about inheritance in Java Default superclass: Except Object class, which has n..
-
5. 클래스Java 2020. 12. 19. 00:05
목표 자바의 Class에 대해 학습하세요. 학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 과제 (Optional) int 값을 가지고 있는 이진 트리를 나타내는 Node 라는 클래스를 정의하세요. int value, Node left, right를 가지고 있어야 합니다. BinrayTree라는 클래스를 정의하고 주어진 노드를 기준으로 출력하는 bfs(Node node)와 dfs(Node node) 메소드를 구현하세요. DFS는 왼쪽, 루트, 오른쪽 순으로 순회하세요. 1. 클래스 정의하는 방법 Class 클래스는 객체가 생성되는 사용자 정의 청사진 또는 프로토 타입입니다. 한 유형의 모든 개체에 공..
-
CORS, Proxyetc 2020. 12. 13. 17:04
CORS (Corss-Origin Resource Sharing) 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있도록 권한을 부여하도록 브라우저에 알려주는 체제이다. 웹 애플리케이션은 리소스가 자신의 출처 (도메인, 프로토콜, 포트) 와 다를 때 교차 출처 HTTP 요청을 실행한다. 두 개의 다른 포트를 가지고 있는 서버는 아무 설정없이 Request 를 보낼 수 없다. WHY ? -> CORS 정책 때문에, 보안을 위해서 HOW TO SOLVE ? -> 여러 가지 방법이 있다. - 동일한 출처 사용하기 - 서버쪽 해결 (response) HTTP 응답헤더 Access-Control-Allow-Origin : * 혹은 Access-Cont..
-
axiosJavaScript & TypeScript 2020. 12. 13. 16:25
axios (액시오스) Promise based HTTP client for the browser and node.js - jQuery 를 사용할 때 AJAX 라고 보면 됨 설치 npm install axios GET 요청 axios 를 사용해 GET 요청 하는 방법 const axios = require('axios'); // ID로 사용자 요청 axios.get('/user?ID=12345') // 응답(성공) .then(function (response) { console.log(response); }) // 응답(실패) .catch(function (error) { console.log(error); }) // 응답(항상 실행) .then(function () { // ... }); axios.g..