자바 로 HTTP 요청 demo 및 HTTP 상태 코드 목록 시작

31624 단어 http 상태 코드
자바 요청 웹 프로그램,예 를 들 어 WebService 인 터 페 이 스 를 방문 할 때 URL 에 접근 하 는 유효성 을 먼저 판단 해 야 합 니 다.여기 서 자바 가 HTTP 요청 을 보 내 는 방식 에 대해 간단 한 기록 을 합 니 다.선배 들 의 말 에 따 르 면 자바 가 HTTP 요청 을 보 내 는 것 은 두 가지 가 아 닙 니 다.하 나 는 자바.net.URLConnection 이 고 다른 하 나 는 유명한 HttpClient 입 니 다.자바.net.URLConnection 을 사용 하 는 것 은 번 거 롭 고 HttpClient 는 간편 합 니 다.POST 요청 을 보 내 는 것 을 예 로 들 면
java.net.URLConnection 방법 은 다음 과 같 습 니 다.
private static void urlConnectionPost() {
    StringBuilder responseBuilder = null;
    BufferedReader reader = null;
    OutputStreamWriter wr = null;
    URL url;
    try {
        url = new URL("http://www.poorren.com");
        HttpURLConnection conn = (HttpURLConnection)url.openConnection();
        conn.setDoOutput(true);
        conn.setConnectTimeout(1000 * 5);
        wr = new OutputStreamWriter(conn.getOutputStream());
        wr.write("");
        wr.flush();
        // Get the response
        reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        responseBuilder = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) {
            responseBuilder.append(line + "
"
); } wr.close(); reader.close(); System.out.println(responseBuilder.toString()); } catch (IOException e) { e.printStackTrace(); } }

상태 코드 를 가 져 오 려 면 conn.connect()에 만 있 으 면 됩 니 다.이후 conn.getResponseCode()를 호출 합 니 다.됐다.
HttpClient 방법:
private static void httpClientPost() {
    HttpClient client = new DefaultHttpClient();
    HttpPost post = new HttpPost("http://www.poorren.com");
    try {
        ContentProducer cp = new ContentProducer() {
            public void writeTo(OutputStream outstream) throws IOException {
                Writer writer = new OutputStreamWriter(outstream, "UTF-8");
                writer.write("");
                writer.flush();
            }
        };
        post.setEntity(new EntityTemplate(cp));
        HttpResponse response = client.execute(post);
        System.out.println(EntityUtils.toString(response.getEntity()));
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

HttpClient 를 사용 한 상태 코드 는 execute(post/get...)에서 직접 가 져 오 면 됩 니 다.
다음은 서로 다른 상태 코드 의 뜻 입 니 다.
http 상태 반환 코드 1xx(임시 응답)는 임시 응답 을 표시 하고 요청 자가 작업 을 계속 수행 해 야 하 는 상태 코드 입 니 다.
http 상태 반환 코드 설명 100(계속)요청 자 는 계속 요청 해 야 합 니 다.서버 가 이 코드 를 되 돌려 주 는 것 은 요청 한 첫 번 째 부분 을 표시 하고 나머지 부분 을 기다 리 고 있 습 니 다.101(프로 토 콜 전환)요청 자 는 서버 에 프로 토 콜 전환 을 요 구 했 고 서버 는 이미 확인 하고 전환 을 준비 했다.
http 상태 반환 코드 2xx(성공)는 요청 한 상태 코드 를 성공 적 으로 처리 하 였 음 을 표시 합 니 다.
http 상태 반환 코드 는 200(성공)서버 가 요청 을 성공 적 으로 처리 했다 는 것 을 설명 합 니 다.일반적으로 서버 가 요청 한 웹 페이지 를 제공 했다 는 뜻 이다.201(생 성 됨)요청 이 성공 하고 서버 가 새로운 자원 을 만 들 었 습 니 다.202(수락)서버 는 요청 을 받 았 으 나 처리 되 지 않 았 습 니 다.203(비 권한 수여 정보)서버 는 요청 을 성공 적 으로 처 리 했 으 나 돌아 오 는 정 보 는 다른 출처 에서 나 올 수 있 습 니 다.204(콘 텐 츠 없 음)서버 는 요청 을 성공 적 으로 처 리 했 으 나 아무런 내용 도 되 돌려 주지 않 았 다.205(리 셋 내용)서버 가 요청 을 성공 적 으로 처 리 했 지만 아무런 내용 도 되 돌려 주지 않 았 습 니 다.206(일부 콘 텐 츠)서버 가 GET 요청 일 부 를 성공 적 으로 처리 했다.
http 상태 반환 코드 3xx(방향 변경)는 요청 을 완료 하려 면 추가 작업 이 필요 합 니 다.일반적으로 이 상태 코드 들 은 방향 을 바 꾸 는 데 쓰 인 다.
http 상태 반환 코드 설명 300(다양한 선택)요청 에 대해 서버 에서 다양한 작업 을 수행 할 수 있 습 니 다.서버 는 요청 자(user agent)에 따라 작업 을 선택 하거나 요청 자 에 게 작업 목록 을 제공 할 수 있 습 니 다.301(영구 이동)요청 한 웹 페이지 가 새 위치 로 영구적 으로 이동 하 였 습 니 다.서버 가 이 응답(GET 나 HEAD 요청 에 대한 응답)을 되 돌려 주면 자동 으로 요청 자 를 새 위치 로 이동 합 니 다.302(임시 이동)서버 는 현재 서로 다른 위치의 웹 페이지 에서 요청 에 응답 하지만 요청 자 는 원래 의 위 치 를 계속 사용 하여 이후 의 요청 을 진행 해 야 한다.303(다른 위치 보기)요청 자가 서로 다른 위치 에 대해 단독 GET 요청 을 사용 하여 응답 을 검색 해 야 할 때 서버 는 이 코드 를 되 돌려 줍 니 다.304(수정 되 지 않 음)지난번 요청 이후 요청 한 웹 페이지 는 수정 되 지 않 았 습 니 다.서버 가 이 응답 을 되 돌려 줄 때 웹 페이지 내용 을 되 돌려 주지 않 습 니 다.305(프 록 시 사용)요청 자 는 프 록 시 로 요청 한 웹 페이지 에 만 접근 할 수 있 습 니 다.서버 가 이 응답 을 되 돌려 주면 요청 자 는 프 록 시 를 사용 해 야 한 다 는 뜻 입 니 다.307(임시 리 셋)서버 는 현재 서로 다른 위치의 웹 페이지 에서 요청 에 응 하지만 요청 자 는 원래 의 위 치 를 계속 사용 하여 이후 의 요청 을 진행 해 야 한다.http 상태 반환 코드 4xx(요청 오류)이 상태 코드 들 은 요청 이 잘못 되 었 을 수 있 음 을 표시 하여 서버 의 처 리 를 방해 합 니 다.
http 상태 반환 코드 코드 설명 400(오류 요청)서버 가 요청 한 문법 을 이해 하지 못 합 니 다.401(권한 이 부여 되 지 않 음)인증 을 요청 합 니 다.로그 인 이 필요 한 웹 페이지 에 대해 서버 는 이 응답 을 되 돌려 줄 수 있 습 니 다.403(금지)서버 가 요청 을 거부 합 니 다.404(찾 을 수 없 음)서버 에서 요청 한 웹 페이지 를 찾 을 수 없습니다.405(방법 비활성화)요청 에서 지정 한 방법 을 사용 하지 않 습 니 다.406(받 아들 이지 않 음)요청 한 내용 특성 으로 요청 에 응답 할 수 없 는 웹 페이지 입 니 다.407(대리 권한 이 필요 함)이 상태 코드 는 401(권한 이 부여 되 지 않 음)과 유사 하지만 지정 한 요청 자 는 대 리 를 사용 할 수 있 도록 권한 을 부여 해 야 합 니 다.408(요청 시간 초과)서버 가 요청 을 기다 리 는 동안 시간 초과 가 발생 합 니 다.409(충돌)서버 가 요청 을 완료 할 때 충돌 합 니 다.서버 는 응답 에 충돌 에 대한 정 보 를 포함해 야 합 니 다.410(삭 제 됨)요청 한 자원 이 영구적 으로 삭제 되면 서버 는 이 응답 을 되 돌려 줍 니 다.411(유효한 길이 가 필요 함)서버 는 유효한 내용 이 없 는 헤더 필드 의 요청 을 받 아들 이지 않 습 니 다.412(전제조건 미 만족)서버 가 요청 자가 요청 에 설정 한 전제조건 중 하 나 를 만족 시 키 지 못 했 습 니 다.413(요청 실체 가 너무 큰)서버 는 요청 을 처리 할 수 없습니다.요청 실체 가 너무 커서 서버 의 처리 능력 을 초과 합 니 다.414(요청 한 URI 가 너무 길 어)요청 한 URI(보통 URL)가 너무 길 어 서버 에서 처리 할 수 없습니다.415(지원 되 지 않 는 미디어 형식)요청 한 형식 은 요청 페이지 의 지원 을 받 지 않 습 니 다.416(요청 범위 가 요구 에 부합 되 지 않 음)페이지 가 요청 한 범 위 를 제공 하지 못 하면 서버 는 이 상태 코드 를 되 돌려 줍 니 다.417(기대 치 미 만족)서버 가'기대'요청 헤더 필드 의 요 구 를 만족 시 키 지 못 했 습 니 다.
http 상태 반환 코드 5xx(서버 오류)이 상태 코드 들 은 서버 가 요청 을 처리 하려 고 시도 할 때 내부 오류 가 발생 했 음 을 나타 낸다.이 오 류 는 요청 오류 가 아니 라 서버 자체 의 오류 일 수 있 습 니 다.
http 상태 반환 코드 는 500(서버 내부 오류)서버 에 오류 가 발생 하여 요청 을 완료 할 수 없습니다.501(아직 실시 되 지 않 음)서버 는 요청 을 완료 하 는 기능 을 갖 추고 있 지 않 습 니 다.예 를 들 어 서버 가 요청 방법 을 식별 할 수 없 을 때 이 코드 를 되 돌려 줄 수 있 습 니 다.502(오류 게 이 트 웨 이)서버 는 게 이 트 웨 이 나 프 록 시 로 상류 서버 에서 잘못된 응답 을 받 았 습 니 다.503(서 비 스 를 사용 할 수 없습니다)서버 는 현재 사용 할 수 없습니다.보통 이것 은 일시적인 상태 일 뿐이다.504(게 이 트 웨 이 시간 초과)서버 는 게 이 트 웨 이 나 프 록 시 이지 만 상류 서버 로부터 제때에 요청 을 받 지 못 했 습 니 다.505(HTTP 버 전 은 지원 되 지 않 음)서버 는 요청 에 사용 할 HTTP 프로 토 콜 버 전 을 지원 하지 않 습 니 다.
일부 일반적인 http 상태 반환 코드 는 200–서버 가 웹 페이지 404–요청 한 웹 페이지 가 존재 하지 않 습 니 다 503–서 비 스 를 사용 할 수 없습니다.

좋은 웹페이지 즐겨찾기