웹사이트 구성 시작하기 자습서||HTTP 요청 방법||HTTP 응답 헤더 정보

HTTP 요청 방법

HTTP 표준에 따르면 HTTP 요청은 여러 요청 방법을 사용할 수 있습니다.

HTTP1.0은 GET, POST 및 HEAD 메서드의 세 가지 요청 메서드를 정의합니다.

HTTP1.1은 OPTIONS, PUT, PATCH, DELETE, TRACE 및 CONNECT 메소드의 6가지 새로운 요청 메소드를 추가합니다.

일련 번호 방법 설명하다
1 얻다 지정된 페이지 정보를 요청하고 엔터티 본문을 반환합니다.
2 머리 반환된 응답에 헤더를 가져오는 데 사용되는 특정 콘텐츠가 없다는 점을 제외하면 GET 요청과 유사합니다.
우편 요청을 처리하기 위해 지정된 리소스에 데이터를 제출합니다(예: 양식 제출 또는 파일 업로드). 데이터는 요청 본문에 포함됩니다. POST 요청으로 인해 새 리소스가 생성되거나 기존 리소스가 수정될 수 있습니다.
4 놓다 클라이언트에서 서버로 전송된 데이터는 지정된 문서의 내용을 대체합니다.
5 삭제 지정된 페이지를 삭제하도록 서버에 요청합니다.
6 연결하다 연결할 수 있는 프록시 서버에 대한 HTTP/1.1 프로토콜에 예약되어 있습니다.
7 옵션 클라이언트가 서버 성능을 볼 수 있습니다.
8 추적하다 주로 테스트 또는 진단을 위해 서버에서 받은 요청을 에코합니다.
9 반점 알려진 리소스에 대한 부분 업데이트를 위한 PUT 메서드를 보완합니다.

HTTP 응답 헤더 정보

HTTP 요청 헤더는 요청, 응답 또는 기타 전송 엔터티에 대한 정보를 제공합니다.

이 장에서는 HTTP 응답 헤더 정보를 구체적으로 소개합니다.

응답 헤더 설명하다
허용하다

서버에서 지원하는 요청 방법(예: GET, POST 등).

콘텐츠 인코딩

문서의 인코딩(Encode) 방법. 디코딩 후에만 Content-Type 헤더에 지정된 콘텐츠 유형을 얻을 수 있습니다. gzip으로 문서를 압축하면 HTML 문서의 다운로드 시간을 크게 줄일 수 있습니다. Java의 GZIPOutputStream은 매우 편리하게 gzip 압축을 수행할 수 있지만 Unix의 Netscape와 Windows의 IE 4 및 IE 5만이 이를 지원합니다. 따라서 서블릿은 Accept-Encoding 헤더(즉, request.getHeader("Accept-Encoding"))를 보고 브라우저가 gzip을 지원하는지 확인하고 gzip을 지원하는 브라우저에 대해 gzip으로 압축된 HTML 페이지를 반환해야 하며, 다른 브라우저에서는 정상으로 돌아갑니다.

콘텐츠 길이

콘텐츠 길이를 나타냅니다. 이 데이터는 브라우저가 지속적인 HTTP 연결을 사용하는 경우에만 필요합니다. 지속적인 연결을 이용하려면 출력 문서를 ByteArrayOutputStream에 쓰고 완료 후 크기를 확인한 다음 Content-Length 헤더에 값을 입력하고 마지막으로 byteArrayStream.writeTo(response.getOutputStream(response.getOutputStream( ).

컨텐츠 타입

다음 문서가 속한 MIME 유형을 나타냅니다. 서블릿의 기본값은 text/plain이지만 일반적으로 text/html로 명시적으로 지정해야 합니다. Content-Type이 자주 설정되기 때문에 HttpServletResponse는 전용 메소드 setContentType을 제공합니다.

날짜

현재 GMT 시간입니다. 날짜 형식 변환의 번거로움을 피하기 위해 setDateHeader로 이 헤더를 설정할 수 있습니다.

만료

어떤 시점에서 문서가 만료되어 캐시되지 않은 것으로 간주해야 합니까?

최종 수정

문서가 마지막으로 수정된 시간입니다. 고객은 If-Modified-Since 요청 헤더를 통해 날짜를 제공할 수 있으며 요청은 조건부 GET으로 처리됩니다. 수정 시간이 지정된 시간보다 늦은 문서만 반환되며, 그렇지 않으면 304(Not Modified) 상태가 됩니다. 반환됩니다. Last-Modified는 setDateHeader 메소드로 설정할 수도 있습니다.

위치

고객이 문서를 픽업하기 위해 가야 하는 위치를 나타냅니다. 위치는 일반적으로 직접 설정되지 않지만 상태 코드를 302로 설정하는 HttpServletResponse의 sendRedirect 메서드를 통해 설정됩니다.

새로 고치다

브라우저가 문서를 새로고침해야 하는 시간(초)을 나타냅니다. 현재 문서를 새로 고치는 것 외에도 setHeader("Refresh", "5; URL=http://host/path")를 통해 브라우저가 지정된 페이지를 읽도록 할 수 있습니다.
참고로 이 기능은 보통 HTML 페이지의 HEAD 영역에 <META HTTP-EQUIV="Refresh" CONTENT="5;URL=http://host/path">를 설정하여 구현하는데, CGI나 서블릿을 사용할 수 없는 HTML 작성자에게 중요합니다. 그러나 서블릿의 경우 새로 고침 헤더를 직접 설정하는 것이 더 편리합니다.

새로 고침의 의미는 "N초마다 이 페이지를 새로 고치거나 지정된 페이지를 방문"이 아니라 "N초 후에 이 페이지를 새로 고치거나 지정된 페이지를 방문"하는 것입니다. 따라서 연속 새로 고침은 매번 새로 고침 헤더를 보내야 하며 204 상태 코드를 보내면 새로 고침 헤더를 사용하든 <META HTTP-EQUIV="Refresh" ...>를 사용하든 브라우저가 계속 새로 고침하지 못할 수 있습니다.

Refresh 헤더는 공식 HTTP 1.1 사양의 일부가 아니라 확장이지만 Netscape와 IE 모두 이를 지원합니다.

섬기는 사람

서버 이름. 서블릿은 일반적으로 이 값을 설정하지 않지만 웹 서버 자체에서 설정합니다.

세트 쿠키

페이지와 관련된 쿠키를 설정합니다. 서블릿은 response.setHeader("Set-Cookie", ...)를 사용하지 말고 HttpServletResponse에서 제공하는 전용 메소드인 addCookie를 사용해야 합니다. 아래의 쿠키 설정에 대한 설명을 참조하십시오.

WWW-인증

클라이언트가 Authorization 헤더에 어떤 유형의 인증 정보를 제공해야 합니까? 이 헤더는 401(권한 없음) 상태 표시줄이 포함된 응답에 필요합니다. 예: response.setHeader("WWW-Authenticate", "BASIC realm=\"executives\"").
서블릿은 일반적으로 이 측면을 처리하지 않지만 웹 서버의 특수 메커니즘이 암호로 보호된 페이지(예: htaccess)에 대한 액세스를 제어하도록 합니다.

Guess you like

Origin blog.csdn.net/m0_69824302/article/details/131550531