diff --git a/README.md b/README.md index d30763d..c038bca 100644 --- a/README.md +++ b/README.md @@ -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를 클라이언트가 렌더링하여 네이버 웹페이지를 표시함