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
101 changes: 63 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,81 +9,106 @@
- - -

## IP란?
> 내용
> Internet Protocol, 네트워크에서 데이터를 주고 받기 위한 통신 규약

## DNS란?
> 내용
> Domain Name System, 사용자가 기억하기 쉬운 도메인 이름을 IP 주소로 변환해주는 시스템

## Stateful과 Stateless란?
> 내용
> Stateful : 서버가 클라이언트의 이전 상태나 정보를 기억하고 있는 것

> Stateless : 서버가 클라이언트의 이전 상태를 전혀 기억하지 않음

### Stateful과 Stateless의 차이점
- **Stateful** : 서버가 클라이언트를 기억함 & 요청들이 이어져 있고 서로 의존적
- **Stateless** : 서버가 클라이언트를 기억하지 못함 & 각 요청이 독립적이고 이전 요청과 무관

## HTTP란?
> 내용
> HyperText Transfer Protocol, 웹에서 클라이언트와 서버가 데이터를 주고 받기 위한 통신 규약
### HTTP 메세지 기본 구조 알아보기
- Start Line
- Header
- Content-Length
- Content-Type
- Host
- Date
- User-Agent
- Accept
- Body
- **Start Line**
- 요청 메세지(HTTP 메서드, 요청 URL), 응답 메세지(HTTP 버전, 상태코드)
- **Header**
- Content-Length : Body의 길이 (byte 단위)
- Content-Type : Body 데이터의 타입
- Host : 요청하는 서버 도메인 주소
- Date : 요청/응답 시각
- User-Agent : 클라이언트 종류 및 버전 정보 (브라우저, 앱 등)
- Accept : 클라이언트가 받을 수 있는 데이터 형식
- **Body**
- 실제 전송되는 데이터 (HTML, JSON, 이미지 등)
### 상태 코드란?
- 200
- 201
- 300
- 400
- 401
- 403
- 404
- 500
- **200** : 성공 (정상 처리)
- **201** : 요청 성공 + 새로운 리소스 생성
- **300** : 리다이렉션 (하나의 요청 URL에 리소스가 여러개 있음)
- **400** : 클라이언트 오류 (요청이 잘못되어 서버가 이해할 수 없음)
- **401** : 인증 필요 (인증되지 않은 사용자 요청)
- **403** : 금지 (서버가 요청을 이해했지만 거부)
- **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** : 리소스 조회
- **POST** : 리소스 생성 / 데이터 전송
- **PUT** : 리소스 전체 수정
- **PATCH** : 리소스 일부 수정
- **DELETE** : 리소스 삭제
### http와 https의 차이 알아보기
- **http**는 암호화를 안하고 데이터를 그대로 전송하여 보안이 낮지만
- **https**는 뒤에 secure이 붙어서 암호화 통신하여 보안이 높다는 차이가 있음

## 세계표준시(UTC)란?
> 내용
> 원자 시계를 기반으로 하여 전 세계가 공통으로 사용하는 기준 시간
### 대한민국의 표준시는 무엇인지 **간단**하게 알아보기
- 대한민국 표준시(KST)는 세계표준시(UTC)에 +9시간을 더한 시간 : UTC+9

## 캐시란?
> 내용
> 데이터를 임시로 저장해두는 공간

## 프록시란?
> 내용
> 서버와 클라이언트 사이에서 요청과 응답을 중계하는 역할

## json이란?
> 내용
> JavaScript Object Notation, 데이터를 교환하거나 저장하는데 쓰이는 텍스트 기반 데이터 형식
### 자신의 이름, 학번, 나이가 들어가는 json배열을 만들어서 아래의 코드 블럭에 적으세요
심현진, 2111, 18의 데이터 한 개와 자신의 정보를 적은 데이터를 만들어 총 2개의 데이터를 만드세요
```json
json 작성하기
[
{ "이름": "심현진", "학번": 2111, "나이": 18 },
{ "이름": "윤미수", "학번": 1411, "나이": 17 }
]
```

## .gitignore란?
> 내용
> Git에서 특정 파일이나 폴더를 버전 관리에서 제외하고 싶을 때 사용하는 설정 파일

## URL, URI, URN이란?
> 내용
> URL (Uniform Resource Locator) : 인터넷 상에서 자원의 위치를 알려주는 주소

> URI (Uniform Resource Identifier) : 인터넷 상의 자원을 식별하는 이름

> URN (Uniform Resource Name) : 자원의 이름만으로 식별하는 방식

## .md(markdown)이란?
> 내용
> 문서를 작성하기 위한 텍스트 기반 마크업 언어
### 많이 쓰는 문법 적기
- 제목 : # ~ ######
- 굵은 글씨 : ** **
- 기울임 : * *
- 순서 없는 목록 : - or *
- 순서 있는 목록 : 1. 2. ...
- 줄바꿈 : < br >
- 링크 : [ ] ( URL )
- 인용문 : >
- 가로줄 : ---

## 스레드란?
> 내용
> Thread, 프로세스(Process) 내에서 실행되는 흐름의 단위

## 세션이란?
> 내용
> Session, 서버에 저장되어 클라이언트의 상태를 일정 시간 동안 유지하는 정보

## 쿠키란?
> 내용
> Cookie, 클라이언트에 저장되어 사용자를 식별하고 설정 정보를 유지하는 데이터

## 주소창에 naver.com을 검색했을 때
> 어떤 일이 일어나는 지 설명해주세요.
> 사용자가 주소창에 naver.com을 입력하면 클라이언트가 DNS로 IP를 찾음 -> 서버와 연결하여 HTTP 요청을 보냄 -> 서버가 응답한 HTML/CSS/JS를 클라이언트가 렌더링하여 네이버 웹페이지를 표시함