(3) HTTP
6644 단어 Servlet
HTTP 요청 부분:
기본 구조:요청 행:GET/LoginDemo/LoginServlet HTTP/1.1 메시지 헤더:Accept:text/html,application/xhtml+xml,/Accept-Language:zh-CN Accept-Encoding:gzip,deflate Host:localhost:8080 연결:Keep-Alive(빈 줄)내용 체:
요청 방법:자주 사용 하 는 GET POST
HTTP 응답 헤더 설명:
Accept:text/html,image/*
[ , , , , ]
Accept-Charset:ISO-8859-1
[ ISO-8859-1 ]
Accept-Encoding:gzip,compress
[ gzip,compress
, ]
Accept-Language:en-us,zh-cn
[ , ]
Host:www.sohu.com:80
[ www.sohu.com:80 ]
If-Modified-Since:Tue,11 Jul 2000 16:16:16
[ , , .... ..
, 。 , 。]
Referer:http://www.sowu.com
[ , 。 ]
User-Agent:Mozilla/4.0(compat...........)
[ , ]
Cookie:
[ ]
Connection:close/Keep-Alive
[ , , ]
Date:Tue,11 Jul.......
[ HTTP ]
HTTP 응답 부분:
기본 구조:상태 줄:HTTP 버 전 번호 상태 코드 원인 설명 메시지 헤더:(빈 줄)내용:
상태 줄:형식:HTTP 버 전 번호 상태 코드 원인 설명 예:HTTP/1.1 200 OK 상태 코드(status)는 서버 가 요청 한 처리 결 과 를 표시 하 는 데 사 용 됩 니 다.세 자리 의 10 진수 입 니 다.응답 상태 코드 는 5 가지 로 나 뉜 다.
상태 코드
속뜻
100~199
요청 을 성공 적 으로 받 았 음 을 나타 내 고 클 라 이언 트 에 게 계속 제출 하 라 고 요구 하 며 다음 요청 이 있어 야 전체 처리 과정 을 완성 할 수 있 습 니 다.
200~299
요청 을 성공 적 으로 받 았 고 전체 처리 과정 이 완료 되 었 음 을 나타 내 며 200 을 흔히 볼 수 있 습 니 다.
300~399
요 구 를 완성 하기 위해 서 고객 은 요 구 를 더욱 세분 화 해 야 한다.예 를 들 어 요청 한 자원 은 새로운 주 소 를 이동 하여 302,307 을 자주 사용 합 니 다.
400~499
클 라 이언 트 요청 에 오류 가 있 습 니 다.자주 404
500~599
서버 쪽 오류 발생,상용 500
주:각 범위 내의 모든 숫자 가 의미 가 있 는 것 은 아 닙 니 다.예 를 들 어 100~199 는 이 구간 의 상태 코드 가 모두 존재 하 는 것 이 아 닙 니 다.아 날로 그 302 상태 코드:
response.setStatus(302);
response.setHeader("Location","/webapp.servlet");
// ↓
response.sendRedirect("/webapp.servlet");
응답 헤더 설명:
Location:http://www.baidu.com
[ URL ]
Server:apache tomcat
[ , Tomcat ]
Content-Encoding:gzip
[ , gzip ]
Content-Length:80
[ 80 ]
Content-Type:text/html; charset=GB2313
[ text/html; gb2312 ]
Content-Language:zh-cn
[ ]
Last-Modified:tue,11 jul 2001-2-2
[ , , , , ]
Refresh:1;url=http://www.baidu.com
[ , URL 。 URL , ]
Content-Disposition:attachment;filename=aaa.zip
[ , ]
:
① web
②
Transfer-Encoding:chunked
[ ]
SetCookie:ss=Q0; path=/search
[ ]
Expires:-1 -1 ,response.setDateHeader("Expires",-1);
[ , ] IE ↑
Cache-Control:no-cache
[ , ] ↑
Pragma:no-cache
[ , ] ↑
Connection:close/KeepAlive
[ , ]
Date:tue,11.......
[ ]
파일 다운로드 사례(도 난 방지 체인):
필요:① 도 난 방지 체인 ② 하나의 Servlet 파일 은 여러 파일 다운 로드 를 지원 합 니 다.
View 페이지://View 페이지 에서 사용 하 시 겠 습 니까?매개 변수 URL 을 전달 합 니 다:....../DownloadServlet?filename=myeclipse1.jpg
Servlet 페이지:
// URL
String url = request.getHeader("Referer");
// URL
if (url == null||!=
(url.startsWith("http://localhost:8080/DownloadDemo"))) {
response.sendRedirect("/DownloadDemo/Error");
}
String filename = request.getParameter("filename");
response.setHeader("Content-Disposition", "attachment;filename=" + filename);
//
String realPath = this.getServletContext().getRealPath("/" + filename);
FileInputStream fis = new FileInputStream(realPath);
OutputStream os = response.getOutputStream();
byte[] buffer = new byte[1024];
int length = -1;
while ((length = fis.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
os.close();
fis.close();
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java에서 Servlet 디코딩 처리 방법예를 들어 Stringstr=request.getParameter(“girl”);Byte B[]=str.getBytes(“ISO-8859-1”);Str=new String(B);상술한 전환을 통해 제출한 모든 정보가...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.