Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 82 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,78 +9,122 @@
- - -

## IP란?
> 내용
> 인터넷에 연결되어 있는 모든 장치들을 식별할 수 있도록 각각의 장치에 부여된 고유 주소이다.

## DNS란?
> 내용
> Domain Name System의 약자로, www.naver.com 같은 도메인 이름을 머신이 읽을 수 있도록 IP주소로 변환한다.

## Stateful과 Stateless란?
> 내용
> Stateful : 서버가 클라이언트의 상태를 보존함을 의미한다.<br>
> Stateless : 서버가 클라이언트의 상태를 보존하지 않음을 의미한다.

### Stateful과 Stateless의 차이점
> stateful : 서버, 세션을 저장하고 유지하려면 서버가 필요하다. 충돌 관리가 어렵다.<br>
> stateless : 서버, 세션을 저장할 서버가 필요 없다. 충돌 관리가 비교적 쉽다.

## HTTP란?
> 내용
> 인터넷에서 데이터를 주고받을 수 있는 프로토콜이다. 텍스트 기반의 통신 규약이다.<br>
> HTTP는 비연결성 프로토콜으로 연결상태를 유지하지 않는다.<br>
> 클라이언트가 브라우저를 통해서 어떠한 서비스를 url 등으로 요청 하면 서버에서 요청사항에 맞는 결과를 사용자에게 응답하는 형태로 동작한다.<br>
> 요청 : 클라이언트 -> 서버<br>
> 응답 : 서버 -> 클라이언트

### HTTP 메세지 기본 구조 알아보기
- Start Line
- Header
- Content-Length
- Content-Type
- Host
- Date
- User-Agent
- Accept
- Body
- Start Line : 요청의 경우 메소드, 타겟 주소, http 버전으로 구성된다. 응답의 경우 status line이라고 하는데, http 버전, status 코드, status 텍스트로 구성된다.
- Header : 헤더는 요청 또는 응답에 대한 추가 정보를 제공한다.
- Content-Length : 응답 본문의 길이를 바이트 단위로 명시한다.
- Content-Type : 응답 본문의 MIME 타입을 명시한다.
- Host : 요청 대상 서버의 호스트명과 포트 번호를 명시한다.
- Date : 메시지가 생성된 날짜와 시간을 명시한다.
- User-Agent : 요청을 보낸 클라이언트 소프트웨어의 정보를 나타낸다.
- Accept : 클라이언트가 받아들일 수 있는 미디어 타입을 명시한다.
- Body : 요청/응답 시 전송하는 데이터를 담고 있는 부분이다.
### 상태 코드란?
- 200
- 201
- 300
- 400
- 401
- 403
- 404
- 500
- 200 : 요청이 성공적으로 되었음을 의미한다.
- 201 : 요청이 성공적이었으며 그 결과로 새로운 리소스가 생성되었음을 의미한다.
- 300 : 요청에 대해서 하나 이상의 응답이 가능함을 의미한다. 사용자는 하나를 반드시 선택해야 한다.
- 400 : 이 응답은 잘못된 문법으로 인하여 서버가 요청을 이해할 수 없음을 의미한다.
- 401 : 미승인/비인증을 의미한다. 클라이언트는 요청한 응답을 받기 위해 반드시 스스로를 인증해야 한다.
- 403 : 클라이언트가 콘텐츠에 접근할 권리를 가지고 있지 않음을 의미한다. 401과 다른 점은 서버가 클라이언트가 누구인지 알고 있다는 것이다.
- 404 : 서버는 요청받은 리소스를 찾을 수 없음을 의미한다.
- 500 : 서버가 처리 방법을 모르는 상황이 발생함을 의미한다.

### http 메서드 알아보기 ([참고](https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-HTTP-%EB%A9%94%EC%84%9C%EB%93%9C-%EC%A2%85%EB%A5%98-%ED%86%B5%EC%8B%A0-%EA%B3%BC%EC%A0%95-%F0%9F%92%AF-%EC%B4%9D%EC%A0%95%EB%A6%AC))
- GET
- POST
- PUT
- PATCH
- DELETE
- GET : 리소스 조회. GET을 사용하는 요청은 오직 데이터를 받기만 한다.
- POST : 요청 데이터 처리, 주로 등록에 사용한다.
- PUT : 리소스를 덮어쓰기, 해당 리소스가 없으면 생성한다.
- PATCH : 리소스 부분 일부 변경.
- DELETE : 리소스 삭제.

### http와 https의 차이 알아보기
> https는 http에서 데이터 전송 전에 암호화 과정을 통해 보안을 강화한 것이다.<br>

## 세계표준시(UTC)란?
> 내용
> 협정시계시 라고도 한다. 국제사회가 사용하는 과학적 시간의 표준이다.<br>
> 기준점의 달하는 도시는 런던, 영국이다. <br>
> 지구 자전을 기준으로 하는 시간으로, 초를 기준으로 하는 원자 시계를 이용해 정확한 시간을 유지한다.
### 대한민국의 표준시는 무엇인지 **간단**하게 알아보기
> 한국 표준시는 UTC+9시간이다.

## 캐시란?
> 내용
> 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소이다.<br>
> Local Cache : Local 장비 내에서만 사용되는 캐시.<br>
> Global Cache : 여러 서버에서 캐시 서버에 접근하여 사용하는 캐시.

## 프록시란?
> 내용
> 중계기로서 대리로 통신을 수행하는 것이다. 클라이언트와 서버 사이에 존재한다. <br>
> 안전한 통신등을 확보하기 위한 중계서버를 프록시 서버라고 한다.

## json이란?
> 내용
> JavaScript Object Notation의 축약어로, 데이터를 저장.전송할 때 많이 사용되는 DATA 교환 방식이다.<br>
> JSON은 단순 데이터 포멧이다. 통신 방법도 프로그래밍 문법도 아닌 데이터 표현 방식일 뿐이다.<br>
> JSON 문서 형식은 자바스크립트 객체의 형식을 기반으로 만들어졌다.<br>
> key/value가 존재할 수 있으며, 원하는 만큼 중첩시켜 사용 가능하다.<br>
> key와 문자열은 항상 쌍따옴표를 붙여야 한다.

### 자신의 이름, 학번, 나이가 들어가는 json배열을 만들어서 아래의 코드 블럭에 적으세요
안예성, 2209, 18의 데이터 한 개와 자신의 정보를 적은 데이터를 만들어 총 2개의 데이터를 만드세요
```json
json 작성하기
```
{
{
"이름": "안예성",
"학번": "2209"
"나이": 18
},
{
"이름": "류승찬",
"학번": "1305"
"나이": 17
}
}
```

## .gitignore란?
> 내용
> 버전 관리에서 제외할 파일 목록을 지정하는 파일이다.

## URL, URI, URN이란?
> 내용
> URI : 인터넷에 있는 자원을 어디에 있는지 자원 자체를 식별하는 방법이다.<br>
> URI 안에 URL와 URN이 포함된다. URL은 자원의 식별자, URI은 위치, URN은 이름이다.

## .md(markdown)이란?
> 내용
> 간단한 구문을 사용하여 텍스트 서식 및 구조를 생성하는 일반 텍스트 파일이다.<br>
> 마크다운의 약자로 마크다운 문법을 사용한다는 의미이다.

### 많이 쓰는 문법 적기
1. 헤더(Header) : # 기호로 사용한다. #이 많아질 수록 글자 크기가 줄어든다.
2. 폰트 : *로 기울여 쓰거나 __로 굵게 쓰는 등 폰트에 대한 속성을 바꿀 수 있다.
3. 목록 : 1. 2. 처럼 숫자와 점을 사용한다. 혹은 - 등으로 순서 없는 리스트도 만들 수 있다.
4. 인용문 : >로 사용한다. >>로 이중으로 사용 가능하다. 블록문자 인용문을 사용할 수 있다.

## 스레드란?
> 내용
> 프로그램 내에서 실행되는 프로그램 제어흐름(실행단위)을 말한다.<br>
> 프로그램 코드를 한 줄씩 실행하는 것이 역할이다.<br>
> 스레드는 즉, 프로그램을 실행하는 주체이다.

## 세션이란?
> 내용
> 웹서버에 웹 컨테이너의 상태를 유지하기 위한 정보를 저장한다.<br>
> 클라이언트와 서버 간의 상호 작용을 관리하기 위한 일시적인 정보 저장 방식이다.

## 쿠키란?
> 내용
> 인터넷 사용자가 웹사이트에 방문 할 때 그 사이트가 사용하고 있는 서버를 통해 인터넷 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일이다.<br>
> 즉, 그 사이트가 사용하는 작은 기록 파일이다.