Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ko] HTTP Status 204, 404 수정, vary 헤더 수정 외 #11669

Merged
merged 1 commit into from
Mar 5, 2023
Merged
Show file tree
Hide file tree
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
36 changes: 24 additions & 12 deletions files/ko/web/http/headers/content-length/index.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,56 @@
---
title: Content-Length
slug: Web/HTTP/Headers/Content-Length
l10n:
sourceCommit: 36001a269f4d7b2b3ac6de79e942a5f849bb87d8
---

{{HTTPSidebar}}

**`Content-Length`** 개체 헤더는 수신자에게 보내지는, 바이트 단위를 가지는 개체 본문의 크기를 나타냅니다.
**`Content-Length`** 헤더는 수신자에게 전송되는 메시지 본문의 크기(바이트)를 나타냅니다.

<table class="properties">
<tbody>
<tr>
<th scope="row">Header type</th>
<td>{{Glossary("Entity header")}}</td>
<th scope="row">헤더 타입</th>
<td>
{{Glossary("Request header", "요청 헤더")}},
{{Glossary("Response header", "응답 헤더")}},
{{Glossary("Payload header")}}
</td>
</tr>
<tr>
<th scope="row">{{Glossary("Forbidden header name")}}</th>
<td>yes</td>
<th scope="row">{{Glossary("Forbidden header name", "금지된 헤더 이름")}}</th>
<td>네</td>
</tr>
<tr>
<th scope="row">
{{Glossary("CORS-safelisted response header")}}
</th>
<td>네</td>
</tr>
</tbody>
</table>

## 문법
## 구문

```
```http
Content-Length: <length>
```

## 디렉티브
## 지시어

- \<length>
- : octets에 대한 십진수 단위의 길이.
- : 8진수에 대한 십진수 단위의 길이.

## 명세
## 명세서

{{Specifications}}

## 브라우저 호환성

{{Compat("http.headers.Content-Length")}}
{{Compat}}

## 함께 참고할 내용
## 같이 보기

- {{HTTPHeader("Transfer-Encoding")}}
36 changes: 22 additions & 14 deletions files/ko/web/http/headers/last-modified/index.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,48 @@
---
title: Last-Modified
slug: Web/HTTP/Headers/Last-Modified
l10n:
sourceCommit: 142fc1376ee130c4762897b59f09f07f3b21af72
---

{{HTTPSidebar}}

**`Last-Modified`** 응답은 HTTP 헤더에 서버가 알고있는 가장 마지막 수정된 날짜와 시각을 담고 있습니다. 이는 저장된 리소스가 이전과 같은지 유효성 검사자로 사용됩니다. {{HTTPHeader("ETag")}} 헤더보다는 덜 정확하지만, 이는 대비책으로 사용됩니다. 조건 요청은 {{HTTPHeader("If-Modified-Since")}} 또는 {{HTTPHeader("If-Unmodified-Since")}} 헤더로 이와 같은 필드를 사용하여 만들어집니다.
**`Last-Modified`** 응답 HTTP 헤더에는 원본 서버가 리소스가 마지막으로 수정되었다고 생각하는
날짜와 시간이 포함되어 있습니다. 이 헤더는 리소스가 이전에 저장된 리소스와 동일한지 확인하기 위한 유효성 검사기로 사용됩니다.
{{HTTPHeader("ETag")}} 헤더보다 정확하진 않지만 이 태그는 대비책으로 사용합니다.
{{HTTPHeader("If-Modified-Since")}} 또는 {{HTTPHeader("If-Unmodified-Since")}}헤더를
포함하는 조건부 요청은 이 필드를 사용합니다.

`Last-Modified`는 {{Glossary("Crawler", "크롤러")}}가 크롤링 빈도를 조정할 때,
브라우저가 [휴리스틱 캐싱](/ko/docs/Web/HTTP/Caching#heuristic_caching)을 할 때,
콘텐츠 관리 시스템(CMS)이 콘텐츠가 마지막으로 수정된 시간을 표시할 때에도 사용됩니다.

<table class="properties">
<tbody>
<tr>
<th scope="row">헤더 타입</th>
<td>{{Glossary("Response header")}}</td>
<td>{{Glossary("Representation header")}}</td>
</tr>
<tr>
<th scope="row">{{Glossary("Forbidden header name")}}</th>
<th scope="row">{{Glossary("Forbidden header name", "금지된 헤더 이름")}}</th>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

32번째 줄 메크로도 수정부탁드려요!
{{Glossary("CORS-safelisted response header")}}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • 45번째줄도 지시자 ->지시어로 수정해주심 될 것 같습니다 :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

지시자군요. 이 부분은 기존 번역이라 딱히 신경을 쓰지 않았는데 앞으로는 좀 더 잘 챙겨봐야겠네요. 감사합니다.

<td>아니오</td>
</tr>
<tr>
<th scope="row">
{{Glossary("Simple response header", "CORS-safelisted response-header")}}
{{Glossary("CORS-safelisted response header")}}
</th>
<td>예</td>
</tr>
</tbody>
</table>

## 문법
## 구문

```
```http
Last-Modified: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT
```

## 지시자
## 지시어

- \<day-name>
- : "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", 또는 "Sun" 중 하나(대소문자 구분).
Expand All @@ -53,21 +63,19 @@ Last-Modified: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT

## 예제

```
```http
Last-Modified: Wed, 21 Oct 2015 07:28:00 GMT
```

## 기술 사양
## 명세서

| 기술 사양 | 제목 |
| ---------------------------------------------------- | ------------------------------------------------------------ |
| {{RFC("7232", "Last-Modified", "2.2")}} | Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests |
{{Specifications}}

## 브라우저 호환성

{{Compat("http.headers.Last-Modified")}}
{{Compat}}

## 함께 참고할 내용
## 같이 보기

- {{HTTPHeader("If-Modified-Since")}}
- {{HTTPHeader("If-Unmodified-Since")}}
Expand Down
54 changes: 23 additions & 31 deletions files/ko/web/http/headers/vary/index.md
Original file line number Diff line number Diff line change
@@ -1,68 +1,60 @@
---
title: Vary
slug: Web/HTTP/Headers/Vary
l10n:
sourceCommit: 36001a269f4d7b2b3ac6de79e942a5f849bb87d8
---

{{HTTPSidebar}}

**`Vary`** 헤더는 캐시 된 응답을 향후 요청들에서 오리진 서버로 새로운 요청 헤더를 요청하는 대신 사용할 수 있는지 여부를 결정합니다. 이것은 서버에서 [컨텐츠 협상](/ko/docs/Web/HTTP/Content_negotiation) 알고리즘에 어떤 리소스를 선택을 할 것인지를 가르킵니다.
**`Vary`** HTTP 응답 헤더는 요청 메시지의 메서드 및 URL을 제외하고 응답 내용에 영향을 준 부분을 설명합니다.
대부분 이 헤더는 [콘텐츠 협상](/ko/docs/Web/HTTP/Content_negotiation)이 사용 중일 때
캐시 키를 생성하는 데 사용됩니다.

`Vary` 헤더는 {{HTTPStatus("200")}} `OK` 응답과 동일하게 {{HTTPStatus("304")}} `Not Modified` 응답에서도 설정 되어야 합니다.
{{HTTPStatus("304")}} `Not Modified` 응답과 "기본" 응답을 포함하여 지정된 URL에 대한 모든 응답에
동일한 `Vary` 헤더 값을 사용해야 합니다.

<table class="properties">
<tbody>
<tr>
<th scope="row">Header type</th>
<td>{{Glossary("Response header")}}</td>
<th scope="row">헤더 타입</th>
<td>{{Glossary("Response header", "응답 헤더")}}</td>
</tr>
<tr>
<th scope="row">{{Glossary("Forbidden header name")}}</th>
<td>no</td>
<th scope="row">{{Glossary("Forbidden header name", "금지된 헤더 이름")}}</th>
<td>아니오</td>
</tr>
</tbody>
</table>

## 문법
## 구문

```
```http
Vary: *
Vary: <header-name>, <header-name>, ...
```

## 지시자
## 지시어

- \*
- : 각 요청에 대해서 유일하며 캐시 할 수 없는 요청으로 간주합니다.
이보다 더 좋은 방법으로 {{HTTPHeader("Cache-Control")}}: `no-store`, 를 사용 하는것이 객체를 저장하면 안된다는 의미로 좀더 명확하게 표시되고 읽을 수 있습니다.
- : 요청 헤더 이외의 요소가 이 응답 생성에 영향을 미쳤음을 나타냅니다. 응답이 캐시할 수 없음을 의미합니다.
- \<header-name>
- : 헤더 이름은 쉼표로 구분되며 캐시 된 응답을 사용할 수 있는지 여부를 결정할 때 사용 됩니다.

## 예제

### 동적 제공

`Vary: User-Agent` 헤더를 사용시 캐싱 서버는 캐시된 페이지를 응답할지 여부를 User-Agent 로 고려해야합니다. 예를 들어, 모바일 유저에게 다른 컨텐츠를 제공해야 할 경우, 모바일 유저에게 데스크탑 유저를 위한 캐시 컨텐츠가 제공 되는것을 피할 수 있습니다. 구글이나 다른 검색 엔진등 에서 모바일 버전을 발견 할수 있는데 도움이 되며, [클로킹](https://en.wikipedia.org/wiki/Cloaking)이 의도되지 않는다고 볼 수도 있습니다.

```
Vary: User-Agent
```
- : 응답 생성에 영향을 줄 수 있는 요청 헤더 이름을 쉼표로 구분한 목록입니다.

## 기술 사양
## 명세서

| 기술 사양 | 제목 |
| -------------------------------------------- | ------------------------------------------------------------- |
| {{RFC("7231", "Vary", "7.1.4")}} | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
{{Specifications}}

## 브라우저 호환성

{{Compat("http.headers.Vary")}}
{{Compat}}

## 호환성 노트

- [Vary with care – Vary header problems in IE6-9](https://blogs.msdn.microsoft.com/ieinternals/2009/06/17/vary-with-care/)
- [Vary with care – Vary header problems in IE6-9](https://docs.microsoft.com/archive/blogs/ieinternals/vary-with-care)

## 함께 참고할 내용
## 같이 보기

- [Understanding The Vary Header - Smashing Magazine](https://www.smashingmagazine.com/2017/11/understanding-vary-header/)
- [Best Practices for Using the Vary Header – fastly.com](https://www.fastly.com/blog/best-practices-for-using-the-vary-header)
- [Content negotiation](/ko/docs/Web/HTTP/Content_negotiation)
- [Best Practices for Using the Vary Header – fastly.com](https://www.fastly.com/blog/best-practices-using-vary-header)
- [컨텐츠 협상](/ko/docs/Web/HTTP/Content_negotiation)
25 changes: 18 additions & 7 deletions files/ko/web/http/status/204/index.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,44 @@
---
title: 204 No Content
slug: Web/HTTP/Status/204
l10n:
sourceCommit: cab15d3616b63a8699e6c0cee0631a48edcec979
---

{{HTTPSidebar}}

HTTP **`204 No Content`** 성공 상태 응답 코드는 요청이 성공했으나 클라이언트가 현재 페이지에서 벗어나지 않아도 된다는 것을 나타냅니다. 기본값에서 204 응답은 캐시에 저장할 수 있습니다. 캐시에서 가져온 응답인 경우 {{HTTPHeader("ETag")}} 헤더를 포함합니다.
HTTP **`204 No Content`** 성공 상태 응답 코드는 요청이 성공했으나 클라이언트가
현재 페이지에서 벗어나지 않아도 된다는 것을 나타냅니다.

흔히 `204`를 반환하는 경우는 {{HTTPMethod("PUT")}} 요청에 대한 응답으로, 사용자에게 보여지는 페이지를 바꾸지 않고 리소스를 업데이트할 때 쓰입니다. 리소스를 생성한 경우엔 {{HTTPStatus("201")}} `Created`를 대신 반환합니다. 새롭게 업데이트한 페이지를 보여줘야 할 경우 {{HTTPStatus("200")}}을 사용해야 합니다.
예를 들어 위키 사이트에 "저장 후 편집 계속" 기능을 구현할 때 사용할 수 있습니다.
이 경우 {{HTTPMethod("PUT")}} 요청을 사용하여 페이지를 저장하고 `204 No Content` 응답을 전송하여
편집기를 다른 페이지로 대체해서는 안 된다는 것을 나타냅니다.

기본값에서 204 응답은 캐시에 저장할 수 있습니다. 캐시에서 가져온 응답인 경우 {{HTTPHeader("ETag")}} 헤더를 포함합니다.

## 상태

```
```http
204 No Content
```

## 명세
## 명세서

{{Specifications}}

## 브라우저 호환성

{{Compat("http.status.204")}}
{{Compat}}

## 호환성 참고사항

- `204 No Content`는 본문 없는 응답을 위한 상태 코드이지만, 서버에서 잘못되게 본문을 포함한 응답을 전달하는 경우가 존재할 수 있습니다. HTTP는 이런 경우를 사용자 에이전트 자의적으로, 서로 다르게 처리하는 것을 허용하고 있습니다. [이에 대한 토론은 여기서 확인할 수 있습니다.](https://github.com/httpwg/http-core/issues/26) 보통 지속 연결에서 볼 수 있는 문제로, 잘못 포함된 본문이 이후 요청에 대한 별도의 응답을 담고 있을 수 있습니다.
- 이 상태코드는 본문 없는 응답을 위한 상태 코드이지만, 서버에서 잘못되게 본문을 포함한 응답을 전달하는 경우가
존재할 수 있습니다. 이 프로토콜은 사용자 에이전트 다양한 방법으로 처리하는 것을 허용하고 있습니다.
[이에 대한 토론은 여기서 확인할 수 있습니다.](https://github.com/httpwg/http-core/issues/26)
보통 지속 연결에서 볼 수 있는 문제로, 잘못 포함된 본문이 이후 요청에 대한 별도의 응답을 담고 있을 수 있습니다.

Apple Safari는 잘못 포함된 모든 데이터를 거부합니다. Google Chrome과 Microsoft Edge는 잘못된 데이터의 최대 4바이트를 검사한 후, 유효한 별도의 요청을 찾지 못한 경우 폐기합니다. Firefox는 최대 1킬로바이트를 검사합니다.
Apple Safari는 잘못 포함된 모든 데이터를 거부합니다. Google Chrome과 Microsoft Edge는 잘못된 데이터의
최대 4바이트를 검사한 후, 유효한 별도의 요청을 찾지 못한 경우 폐기합니다. Firefox는 1킬로바이트 이상을 검사합니다.

## 같이 보기

Expand Down
28 changes: 17 additions & 11 deletions files/ko/web/http/status/404/index.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,47 @@
---
title: 404 Not Found
slug: Web/HTTP/Status/404
l10n:
sourceCommit: cab15d3616b63a8699e6c0cee0631a48edcec979
---

{{HTTPSidebar}}

HTTP **`404 Not Found`** 클라이언트 오류 응답 코드는 서버가 요청받은 리소스를 찾을 수 없다는 것을 의미합니다. 404 페이지를 띄우는 링크는 대체로 브로큰 링크(broken link) 또는 데드 링크(dead link)라고 부르며, [link rot](https://en.wikipedia.org/wiki/Link_rot) 대상일 수도 있습니다.
HTTP **`404 Not Found`** 클라이언트 오류 응답 코드는 서버가 요청받은 리소스를 찾을 수 없다는 것을 의미합니다.
404 페이지를 띄우는 링크는 대체로 브로큰 링크(broken link) 또는 데드 링크(dead link)라고 부르며,
[link rot](https://en.wikipedia.org/wiki/Link_rot) 대상일 수도 있습니다.

404 상태 코드는 리소스가 일시적, 또는 영구적으로 사라졌다는 것을 의미하지는 않습니다. 리소스가 영구적히 삭제되었다면 404 상태 코드 대신 {{HTTPStatus(410)}} (Gone) 상태 코드가 쓰여야 합니다.
404 상태 코드는 리소스가 일시적, 또는 영구적으로 사라졌다는 것을 의미하지는 않습니다. 리소스가 영구적으로 삭제되었다면
404 상태 코드 대신 {{HTTPStatus(410)}} (Gone) 상태 코드가 쓰여야 합니다.

## 상태

```
```http
404 Not Found
```

## 커스텀 에러 페이지
## 사용자 지정 에러 페이지

많은 웹사이트들이 사용자에게 더 많은 도움을 주기 위해 404 페이지의 모습을 커스터마이징합니다. 아파치 서버는 `.htaccess` 파일에 아래와 같은 코드를 작성해 설정할 수 있습니다.
많은 웹사이트들이 사용자에게 더 많은 도움을 주기 위해 404 페이지의 모습을 알맞게 재단합니다.
예를 들어, 아파치 서버는 `.htaccess` 파일에 아래와 같은 코드를 작성해 설정할 수 있습니다.

```bash
```
ErrorDocument 404 /notfound.html
```

커스텀 404 페이지의 예시로는 [MDN's 404 page](/en-US/404)을 참고해보세요.
사용자 지정 404 페이지의 예시로는 [404 page](https://konmari.com/404)을 참고해보세요.

> **참고:** 적당한 커스텀 디자인은 좋습니다. 404 페이지를 재밌게 만들되, 사용자를 혼란스럽게 하지는 마세요.
> **참고:** 적당한 사용자 지정 디자인은 좋습니다. 404 페이지를 재밌게 만들되, 사용자를 혼란스럽게 하지는 마세요.

## 명세
## 명세서

{{Specifications}}

## 브라우저 호환성

{{Compat("http.status.404")}}
{{Compat}}

## 함께 참고할 내용
## 같이 보기

- {{HTTPStatus(410)}}
- [HTTP_404](https://ko.wikipedia.org/wiki/HTTP_404)