Skip to content

Commit 6a301c6

Browse files
authored
Merge pull request #55 from cs-yum/jeehoon
docs: 네트워크 HTTP Method 글 발행
2 parents cecfaa6 + 2ec59b9 commit 6a301c6

File tree

9 files changed

+106
-0
lines changed

9 files changed

+106
-0
lines changed

docs/Javascript/15. var, let, const.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
## 🧑🏻‍💻 var, let, const
22
---
33

4+
### ✅ 각 키워드 사용 시기
5+
6+
#### ✏️ `var` 사용 시기
7+
- ES6 이전의 JavaScript 코드나 브라우저 호환성을 고려해야 할 때 사용할 수 있다.
8+
9+
#### ✏️ `let` 사용 시기
10+
- 재할당이 필요한 경우에 사용한다.
11+
12+
#### ✏️ `const` 사용 시기
13+
- 변수에 할당한 값을 변경할 수 없기 때문에, 상수 값 또는 객체 불변성을 보장하기 위한 불변 변수(immutable variable)를 선언할 때 주로 사용한다.
14+
415
| | var | let | const |
516
| --- | --- | --- | --- |
617
| 스코프 | 함수 레벨 스코프 | 블록 레벨 스코프 | 블록 레벨 스코프 |
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
> HTTP(Hypertext Transfer Protocol)는 TCP 기반의 서버 - 클라이언트 사이 메시지 교환 프로토콜을 의미한다.
2+
3+
<center>
4+
<img src="/img/네트워크/5-1-0.png" width="200" height="200" alt="Request 메시지" />
5+
</center>
6+
7+
## 🧑🏻‍💻 HTTP 메시지와 구조
8+
---
9+
10+
### ✅ Request 메시지
11+
> 클라이언트에서 서버로의 메시지로, 헤더(메서드 + URI + 프로토콜 버전), 공백라인, 바디로 구성되어있다.
12+
13+
<center>
14+
<img src="/img/네트워크/5-1-1.png" width="350" height="400" alt="Request 메시지" />
15+
</center>
16+
17+
### ✅ Response 메시지
18+
> 서버에서 클라이언트로의 메시지로, 헤더(프로토콜 버전 + 상태코드 + 상태코드 설명), 공백라인, 바디로 구성되어있다.
19+
20+
<center>
21+
<img src="/img/네트워크/5-1-2.png" width="350" height="400" alt="Request 메시지" />
22+
</center>

docs/네트워크/HTTP Method/1. 주제1.mdx

Whitespace-only changes.
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
> HTTP Method는 리소스(URL 검색 혹은 서버로부터 받아온 결과물)를 다루는 방식을 뜻한다.
2+
3+
## 🧑🏻‍💻 HTTP Method 종류
4+
---
5+
6+
> GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
7+
8+
### ✅ GET
9+
> 리소스를 조회한다.
10+
11+
- 리소스의 상태나 데이터를 요청하며, 요청의 본문(body)을 가질 수 없다.
12+
13+
### ✅ HEAD
14+
> 실제 리소스를 반환하지 않고 GET 메서드로 요청했을 때 응답으로 오는 헤더 부분만 반환한다.
15+
16+
- 주로 리소스의 메타데이터나 헤더 정보를 확인할 때 사용된다.
17+
18+
### ✅ POST
19+
> 새로운 리소스를 등록한다.
20+
21+
### ✅ PUT
22+
> 대상 리소스가 없다면 리소스를 생성하고, 있다면 수정한다. 즉 기존 리소스를 완전히 대체한다.
23+
24+
### ✅ DELETE
25+
> 리소스를 삭제한다.
26+
27+
### ✅ CONNECT
28+
> 요청한 리소스에 대해 목적지 서버로 양방향 연결을 맺도록 요청한다.
29+
30+
- 주로 프락시 서버와 사용된다.
31+
32+
### ✅ OPTIONS
33+
> 서버가 지원하는 메서드나 리소스의 특성을 조회한다.
34+
35+
- 서버가 지원하는 메서드나 기능을 확인하는 데 사용된다.
36+
37+
### ✅ TRACE
38+
> 서버에게 현재 요청 메시지를 반환한다.
39+
40+
- Client - Server Side 간 Loop back Test 를 진행할 수 있게 도와준다.
41+
42+
- 주로 디버깅과 진단 목적으로 사용된다.
43+
44+
### ✅ PATCH
45+
> 리소스 일부를 수정한다.
46+
47+
- 리소스의 일부만 수정하고 나머지 부분은 유지한다.
48+
49+
## 🧑🏻‍💻 HTTP Method 특성
50+
---
51+
52+
<center>
53+
<img src="/img/네트워크/5-2-1.png" width="350" height="400" alt="Request 메시지" />
54+
</center>
55+
56+
### ✅ 안정성 (Safe)
57+
- 서버 상태를 변경하지 않는 특성이다. 즉 서버 측 데이터를 변경하지 않는다.
58+
59+
### ✅ 멱등성 (Idempotent)
60+
- 동일한 요청을 여러 번 실행하더라도 상태가 변하지 않고 동일한 결과를 얻을 수 있는 특성이다.
61+
62+
- POST 메서드는 주로 새로운 리소스를 생성하는 데 사용된다. POST 요청을 여러 번 보내면 각각 다른 리소스 인스턴스(다른 게시물, 다른 주문)가 생성되기 때문에 POST는 멱등성을 가지지 않는다.
63+
64+
- PUT 메서드는 기존 리소스를 항상 대체하기 때문에 동일한 결과를 얻을 수 있다. (값이 어떻게 업데이트되었든 간에, 항상 새로운 값으로 대체된다는 점에서 멱등이다.)
65+
66+
- PATCH 메서드는 동일한 요청을 여러 번 실행할 때, 리소스의 상태가 변경된 경우에 대한 요청을 계속 하게 되는 것이므로 결과가 달라질 수 있고 멱등성을 보장하지 않는다. (값이 어떻게 업데이트되는지에 따라 새로운 값을 제공한다.)
67+
68+
### ✅ 캐시 가능성 (Cacheable)
69+
- 응답을 캐시할 수 있는 특성이다.
70+
71+
- GET 메서드는 리소스를 읽기 전용으로 보기 때문에 반복 요청에서 동일한 응답을 캐시하여 재사용할 수 있다.
72+
73+
- HTTP 스팩에서는 POST 메서드에 대한 몇 가지 캐시 지시어를 정의하고 있지만, 이러한 캐시 기능을 지원하는 경우는 드물다.

docs/네트워크/HTTP Method/2. 주제2.mdx

Whitespace-only changes.

static/img/네트워크/5-1-0.png

317 KB
Loading

static/img/네트워크/5-1-1.png

971 KB
Loading

static/img/네트워크/5-1-2.png

466 KB
Loading

static/img/네트워크/5-2-1.png

1.58 MB
Loading

0 commit comments

Comments
 (0)