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")를 통해 브라우저가 지정된 페이지를 읽도록 할 수 있습니다. |
섬기는 사람 | 서버 이름. 서블릿은 일반적으로 이 값을 설정하지 않지만 웹 서버 자체에서 설정합니다. |
세트 쿠키 | 페이지와 관련된 쿠키를 설정합니다. 서블릿은 response.setHeader("Set-Cookie", ...)를 사용하지 말고 HttpServletResponse에서 제공하는 전용 메소드인 addCookie를 사용해야 합니다. 아래의 쿠키 설정에 대한 설명을 참조하십시오. |
WWW-인증 | 클라이언트가 Authorization 헤더에 어떤 유형의 인증 정보를 제공해야 합니까? 이 헤더는 401(권한 없음) 상태 표시줄이 포함된 응답에 필요합니다. 예: response.setHeader("WWW-Authenticate", "BASIC realm=\"executives\""). |