From 3d9924d108ba02b5d244254b8033c1de6eb9e5f8 Mon Sep 17 00:00:00 2001 From: Jongha Kim Date: Tue, 21 Feb 2023 07:40:18 +0900 Subject: [PATCH] =?UTF-8?q?[ko]=20HTTP=20Status=20204,=20404=20=EC=88=98?= =?UTF-8?q?=EC=A0=95,=20`vary`=20=ED=97=A4=EB=8D=94=20=EC=88=98=EC=A0=95?= =?UTF-8?q?=20=EC=99=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - HTTP Header `vary` 헤더 최신화 - HTTP Header `Last-Modified` 헤더 최신화 - HTTP Header `Content-Length` 헤더 최신화 - HTTP Status Code `204` 최신화 - HTTP Status Code `404` 최신화 --- .../web/http/headers/content-length/index.md | 36 ++++++++----- .../web/http/headers/last-modified/index.md | 36 ++++++++----- files/ko/web/http/headers/vary/index.md | 54 ++++++++----------- files/ko/web/http/status/204/index.md | 25 ++++++--- files/ko/web/http/status/404/index.md | 28 ++++++---- 5 files changed, 104 insertions(+), 75 deletions(-) diff --git a/files/ko/web/http/headers/content-length/index.md b/files/ko/web/http/headers/content-length/index.md index 1e6bb9ecb10571..f0f33efba0d70a 100644 --- a/files/ko/web/http/headers/content-length/index.md +++ b/files/ko/web/http/headers/content-length/index.md @@ -1,44 +1,56 @@ --- title: Content-Length slug: Web/HTTP/Headers/Content-Length +l10n: + sourceCommit: 36001a269f4d7b2b3ac6de79e942a5f849bb87d8 --- {{HTTPSidebar}} -**`Content-Length`** 개체 헤더는 수신자에게 보내지는, 바이트 단위를 가지는 개체 본문의 크기를 나타냅니다. +**`Content-Length`** 헤더는 수신자에게 전송되는 메시지 본문의 크기(바이트)를 나타냅니다. - - + + - - + + + + + +
Header type{{Glossary("Entity header")}}헤더 타입 + {{Glossary("Request header", "요청 헤더")}}, + {{Glossary("Response header", "응답 헤더")}}, + {{Glossary("Payload header")}} +
{{Glossary("Forbidden header name")}}yes{{Glossary("Forbidden header name", "금지된 헤더 이름")}}
+ {{Glossary("CORS-safelisted response header")}} +
-## 문법 +## 구문 -``` +```http Content-Length: ``` -## 디렉티브 +## 지시어 - \ - - : octets에 대한 십진수 단위의 길이. + - : 8진수에 대한 십진수 단위의 길이. -## 명세 +## 명세서 {{Specifications}} ## 브라우저 호환성 -{{Compat("http.headers.Content-Length")}} +{{Compat}} -## 함께 참고할 내용 +## 같이 보기 - {{HTTPHeader("Transfer-Encoding")}} diff --git a/files/ko/web/http/headers/last-modified/index.md b/files/ko/web/http/headers/last-modified/index.md index 4c097caac358fa..89cf0900f7777d 100644 --- a/files/ko/web/http/headers/last-modified/index.md +++ b/files/ko/web/http/headers/last-modified/index.md @@ -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)이 콘텐츠가 마지막으로 수정된 시간을 표시할 때에도 사용됩니다. - + - +
헤더 타입{{Glossary("Response header")}}{{Glossary("Representation header")}}
{{Glossary("Forbidden header name")}}{{Glossary("Forbidden header name", "금지된 헤더 이름")}} 아니오
- {{Glossary("Simple response header", "CORS-safelisted response-header")}} + {{Glossary("CORS-safelisted response header")}}
-## 문법 +## 구문 -``` +```http Last-Modified: , :: GMT ``` -## 지시자 +## 지시어 - \ - : "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", 또는 "Sun" 중 하나(대소문자 구분). @@ -53,21 +63,19 @@ Last-Modified: , :: 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")}} diff --git a/files/ko/web/http/headers/vary/index.md b/files/ko/web/http/headers/vary/index.md index 7c3596a28a5d5d..cc53a54bef297a 100644 --- a/files/ko/web/http/headers/vary/index.md +++ b/files/ko/web/http/headers/vary/index.md @@ -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` 헤더 값을 사용해야 합니다. - - + + - - + +
Header type{{Glossary("Response header")}}헤더 타입{{Glossary("Response header", "응답 헤더")}}
{{Glossary("Forbidden header name")}}no{{Glossary("Forbidden header name", "금지된 헤더 이름")}}아니오
-## 문법 +## 구문 -``` +```http Vary: * Vary: , , ... ``` -## 지시자 +## 지시어 - \* - - : 각 요청에 대해서 유일하며 캐시 할 수 없는 요청으로 간주합니다. - 이보다 더 좋은 방법으로 {{HTTPHeader("Cache-Control")}}: `no-store`, 를 사용 하는것이 객체를 저장하면 안된다는 의미로 좀더 명확하게 표시되고 읽을 수 있습니다. + - : 요청 헤더 이외의 요소가 이 응답 생성에 영향을 미쳤음을 나타냅니다. 응답이 캐시할 수 없음을 의미합니다. - \ - - : 헤더 이름은 쉼표로 구분되며 캐시 된 응답을 사용할 수 있는지 여부를 결정할 때 사용 됩니다. - -## 예제 - -### 동적 제공 - -`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) diff --git a/files/ko/web/http/status/204/index.md b/files/ko/web/http/status/204/index.md index bcf808686f5ac5..a7e856184f4732 100644 --- a/files/ko/web/http/status/204/index.md +++ b/files/ko/web/http/status/204/index.md @@ -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킬로바이트 이상을 검사합니다. ## 같이 보기 diff --git a/files/ko/web/http/status/404/index.md b/files/ko/web/http/status/404/index.md index 15e2215fdd58e5..c0390e8cfbc040 100644 --- a/files/ko/web/http/status/404/index.md +++ b/files/ko/web/http/status/404/index.md @@ -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)