언급 할 가치가 있다고 생각하는 HTTP의 숨겨진 기능은 무엇입니까?
숨겨진 기능이란 이미 표준의 일부이지만 널리 알려지지 않았거나 사용되지 않은 기능을 의미합니다.
답변 당 하나의 기능 만주세요.
답변:
Hyper Text Coffee Pot Control Protocol (HTTP의 확장)의 일부인 418 I 'm a teapot 상태 코드 여야합니다 . 매번 나를 웃게 만든다.
2.3.2 418 나는 주전자입니다
주전자로 커피를 추출하려고하면 오류 코드 "418 I 'm a teapot"이 표시됩니다. 결과 엔티티 본문은 짧고 튼튼 할 수 있습니다.
명확한 답변 : PUT, DELETE, TRACE, OPTIONS, CONNECT 메서드
대부분의 사람들은 양식을 작성할 때 사용하는 GET 및 POST 메서드에 대해 알고 있습니다. 브라우저는 또한 HEAD를 많이 사용합니다. 다른 방법은 잘 알려져 있지 않습니다. 그들은 주로 더 구체적인 응용 프로그램에서 사용됩니다.
402 지불 필요를 본 사람이 있습니까?
204는 표시 할 내용이없는 경우에만 해당한다고 생각했지만 사양 은 사용자 에이전트가 "문서보기를 변경하지 않는"추가 동작이있는 것처럼 보입니다.
HOWTO 에 따르면 : AJAX 용 HTTP 204 (콘텐츠 없음)를 반환하도록 Apache 구성
FWIW, Google은 실제로 비슷한 일을합니다. 사용자가 검색 결과의 링크를 클릭 할 때마다 Google은 클릭을 기록하기 위해 자체적으로 핑을 보냅니다. 핑의 응답 코드는 HTTP 204입니다.
또한 204 No Content 는 네트워크 트래픽의 모든 마지막 바이트를 절약하려는 경우 "웹 버그"또는 "비콘"에 대한 좋은 기술이라고 제안합니다.
(...) 서버 소유자는 해당 리소스에 대한 원격 링크를 제거하기를 원합니다. (...)
웹 스파이더 (특히 Google)는 410을 반환하기 시작하는 페이지의 색인을 제거합니다 (일반적으로 다음 크롤링시).
동적 콘텐츠에서 Last_Modified 또는 ETag 헤더 사용
크기가 크고 / 또는 생성하는 데 비용이 많이 들고 요청마다 변경되지 않는 동적 콘텐츠가있는 경우가 있습니다. 생성 된 응답에 Last_Modified 또는 ETag 헤더를 추가 할 수 있습니다.
값 비싼 동적 코드의 맨 위에서 If_Modified_Since 또는 If_None_Match를 사용하여 이미 콘텐츠 요청자가 아직 최신 상태인지 확인할 수 있습니다. 응답 상태를 "304 Unmodified"로 변경하고 요청을 종료하십시오.
일부 서버 측 기술은 이러한 기능을 공식적으로 제공하지만 낮은 ASP-Classic에서도 위의 작업을 수행 할 수 있습니다.
클라이언트가 항상 최신 정보를 갖도록 보장한다는 점에서 Cache-Control, Expires 헤더를 설정하는 것과 다릅니다.
지정된 바이트 범위와 고유 한 파일 식별자 또는 파일 수정 타임 스탬프와 함께 및 요청 헤더를 사용하여 (대용량) HTTP 응답 (예 : 파일 다운로드) 을 재개 하도록 요청할 수 있습니다 . 이는 서버가 바이트 범위 요청, 고유 파일 식별자 및 파일 수정 타임 스탬프를 지원한다는 알림과 함께 초기 응답 에서 및 또는 응답 헤더를 각각 보낸 경우 가능합니다 .Range
If-Range
Accept-Ranges: bytes
ETag
Last-Modified
초기 응답은 다음과 같을 수 있습니다 ( ETag
일반적으로 파일 이름, 크기 및 마지막 수정 타임 스탬프로 구성됨).
Accept-Ranges: bytes
ETag: file.ext_1234_1234567890
Content-Range: bytes 0-1233/1234
예를 들어 1KB (1024 바이트)에서 다운로드가 중단되면 클라이언트는 다음과 같이 다시 시작할 수 있습니다.
If-Range: file.ext_1234_1234567890
Range: bytes=1024-
본문에 적절한 바이트와 함께이 응답을 반환해야합니다.
Accept-Ranges: bytes
ETag: file.ext_1234_1234567890
Content-Range: bytes 1024-1233/1234
HTTP 100 (계속) 상태
클라이언트는 요청 본문과 함께 요청 메시지를 보내 원본 서버가 요청을 수락 할 의사가 있는지 확인할 수 있습니다.
어떤 경우에는 서버가 본문을 보지 않고 메시지를 거부 할 경우 클라이언트가 본문을 보내는 것이 부적절하거나 매우 비효율적 일 수 있습니다 .
불량 클라이언트의 트래픽 을 피하는 데 사용될 수 있습니다 . 그리고 / 또는 대역폭 이 소중한 상품 인 경우.
그러나이 기능을 완전히 사용하려면 HTTP1.1 클라이언트, 서버 및 프록시에 대한 몇 가지 기준이 있습니다. HTTP 연결에 대한 자세한 내용은 HTTP / 1.1 RFC 2616 을 참조하십시오 .
상태 코드 :
http://www.domain.invalid/index.php?id=44
가 호출 될 때 쿼리 ( id=44
)가 리소스를 반환 할 수없는 경우 상태 코드를 반환하지 않는 이유는 404
무엇입니까?http://www.domain.invalid/index.php?id=foo
있는 반면라고 id
정수만을 받아, 왜 상태 코드를 반환하지 400
?200
(좋아요, 문제 없습니다. 잘합니다) instade를 반환합니다 401
.예, 상태 코드 는 일부 웹 개발자에게 HTTP 의 일종의 비밀 기능인 것 같습니다 ...하지만이 프로토콜의 모든 "기능"중 가장 신비로운 것이 RFC 가 아닌지 궁금합니다 !
401
다른 종류가 아닌 HTTP 인증만을위한 것이라고 생각한다 . Afaik은 대부분의 브라우저에서 사용자에게 http 암호를 요청합니다.
HTTP-Authentication
... ^^ 바퀴를 재발 명하는 대신 사용하기가 그렇게 어렵습니까?
.htaccess
파일 과 같은 일부 (상당히 정적 인) 웹 서버 구성 파일에 저장되는지에 따라 큰 차이가 있습니다 . 웹 마스터는 업데이트 할 수 있습니다. 따라서 HTTP 인증은 실제로 응용 프로그램의 사용자 권한 및 로그인 / 로그 오프를 관리하는 데 적합하지 않습니다.
HTTP-Authentication
것은 쉽습니다 . 그리고 PHP도 처리 할 수 있습니다 HTTP-Authentication
( php.net/manual/en/features.http-auth.php ). 웹 개발자라면 안전상의 이유로 서버 관리의 기초를 익혀야합니다! 웹 개발자는 웹 마스터 / 시스템 관리자 기술이 있어야하므로이 작업을 쉽게 수행 할 수 있습니다.