FTP 서버 반환 코드 목록
List of FTP server return codesFTP 서버의 리턴 코드에는 항상 3자리 숫자가 있으며 각 자리에는 특별한 [1]의미가 있습니다.첫 번째 숫자는 응답이 양호한지, 나쁜지, 불완전한지를 나타냅니다.
| 범위 | 목적 |
|---|---|
1xx | 긍정적인 예비 답변 요청된 작업을 시작하고 있습니다. 새 명령을 계속하기 전에 다른 응답이 필요합니다.(완료 응답 전에 다른 명령어를 송신하는 사용자 프로세스는 프로토콜 위반이 됩니다.단, 서버-FTP 프로세스는 이전 명령어가 진행 중일 때 도착하는 모든 명령어를 큐잉해야 합니다.)이 유형의 응답은 명령어가 받아들여졌음을 나타내며 동시 모니터링이 어려운 구현에서는 사용자 프로세스가 데이터 연결에 주의를 기울일 수 있습니다.서버-FTP 프로세스는 명령어당 최대 1xx 응답을 전송할 수 있습니다. |
2xx | 긍정적인 완료 응답 요청한 작업이 성공적으로 완료되었습니다.새로운 요구가 개시될 수 있습니다. |
3xx | 긍정 중간 응답 명령어는 승인되었지만 요청된 액션은 추가 정보가 수신될 때까지 보류됩니다.사용자는 이 정보를 지정하는 다른 명령을 전송해야 합니다.이 응답은 명령어시퀀스 그룹에서 사용됩니다. |
4xx | 일시적인 부정 완료 응답 명령어가 받아들여지지 않아 요청된 액션이 실행되지 않았지만 오류 상태는 일시적이며 액션이 다시 요구될 수 있습니다.사용자는 명령어시퀀스의 선두로 돌아갈 필요가 있습니다.특히 두 개의 서로 다른 사이트(서버 프로세스와 사용자 프로세스)가 해석에 동의해야 하는 경우에는 "과도적"에 의미를 부여하기가 어렵습니다.4xx 카테고리의 응답마다 시간 값이 약간 다를 수 있지만 사용자 프로세스가 재시도하도록 권장하는 것이 목적입니다.응답이 4xx 또는 5xx(영구적 네거티브) 카테고리에 적합한지 판단할 때 경험적인 규칙은 사용자 또는 서버의 명령 형식이나 속성을 변경하지 않고 명령을 반복할 수 있는 경우(예를 들어 명령어가 사용되는 인수와 같은 철자이며 사용자는 파일 또는 사용자를 변경하지 않습니다).name. 서버는 새로운 실장을 확립하지 않습니다.) |
5xx | 영속적인 부정 완료 응답 명령어가 받아들여지지 않아 요청된 액션이 실행되지 않았습니다.사용자 프로세스는 (같은 순서로) 정확한 요청을 반복하지 않도록 합니다.일부 "영구적" 오류 조건도 수정할 수 있으므로, 사용자 프로세스에서 향후 어느 시점에서(예를 들어, 철자가 변경되거나 사용자가 디렉토리 상태를 변경한 후) 명령 시퀀스를 재초기화하도록 지시할 수 있습니다. |
6xx | 회신 보호 RFC 2228에서는 FTP 통신에 대한 보안을 강화하기 위해 보호 응답 개념을 도입했습니다.6xx 응답은 Base64로 인코딩된 보호된 메시지로, 시큐어 명령에 대한 응답으로 기능합니다.올바르게 디코딩되면, 이러한 응답은 상기의 카테고리에 속합니다. |
두 번째 숫자는 그룹화된 숫자로 다음 정보를 인코딩합니다.
| 범위 | 목적 |
|---|---|
x0x | 구문 이러한 응답은 구문 오류, 어떤 기능 범주에도 맞지 않는 구문적으로 올바른 명령어, 구현되지 않은 명령어 또는 불필요한 명령어입니다. |
x1x | 정보 상태나 도움말 등의 정보 요청에 대한 응답입니다. |
x2x | 접속 컨트롤과 데이터 접속에 관한 응답. |
x3x | 인증 및 계정 로그인 프로세스 및 계정 절차에 대한 응답입니다. |
x4x | RFC 959에서는 지정되지 않았습니다. |
x5x | 파일 시스템 이러한 응답은 요청된 전송 또는 기타 파일 시스템 작업에 대한 서버 파일 시스템의 상태를 나타냅니다. |
FTP 서버에 의해 발행될 가능성이 있는 기존의 리턴 코드를 다음에 나타냅니다.
| 코드 | 설명. |
|---|---|
100 Series | 요청된 작업을 시작하고 있습니다. 새 명령을 계속하기 전에 다른 응답을 기다리십시오. |
110 | 마커 재생을 다시 시작합니다.이 경우 텍스트는 정확하며 특정 구현에 의존하지 않습니다.다음 내용이 필요합니다.MARK yyyy = mmmm여기서 yyyy는 사용자 프로세스 데이터 스트림 마커이며, mmm 서버의 동등한 마커입니다(마커와 "=" 사이의 공백 참조). |
120 | 서비스 준비는 nnn분입니다. |
125 | 데이터 연결이 이미 열려 있습니다. 전송을 시작합니다. |
150 | 파일 상태가 정상입니다. 데이터 연결을 열려고 합니다. |
200 Series | 요청한 작업이 성공적으로 완료되었습니다. |
202 | 명령이 구현되지 않았습니다. 이 사이트에 필요 없습니다. |
211 | 시스템 상태 또는 시스템 도움말 응답. |
212 | 디렉토리 상태 |
213 | 파일 상태 |
214 | 도움말 메시지서버 사용 방법 또는 특정 비표준 명령어의 의미에 대해 설명합니다.이 답변은 사용자만 사용할 수 있습니다. |
215 | NAME 시스템타입여기서 NAME은 IANA에 의해 유지되는 레지스트리의 공식 시스템 이름입니다. |
220 | 새 사용자를 위한 서비스 준비 완료. |
221 | 서비스 클로징 제어 연결. |
225 | 데이터 연결이 열려 있어 전송이 진행 중이 아닙니다. |
226 | 데이터 연결을 닫는 중입니다.요청된 파일 작업이 성공했습니다(예: 파일 전송 또는 파일 중단). |
227 | 패시브 모드로 들어갑니다(h1, h2, h3, h4, p1, p2). |
228 | 롱 패시브 모드(롱어드레스, 포트)로 들어갑니다. |
229 | Extended Passive Mode(포트)로 들어갑니다. |
230 | 사용자가 로그인했습니다. 계속 진행하십시오.필요에 따라서 로그아웃. |
231 | 사용자가 로그아웃하여 서비스가 종료되었습니다. |
232 | 로그아웃 명령어는 전송이 완료되면 완료됩니다.대체 방법:보안 데이터 교환에 의해 인증된 사용자가 로그인했습니다. |
234 | 서버가 클라이언트에 의해 지정된 인증 메커니즘을 받아들여 보안 데이터를 교환할 필요가 없음을 지정합니다. |
235 | 클라이언트가 제공한 보안 데이터를 서버가 받아들이도록 지정합니다.이후 보안 데이터를 교환할 필요가 없습니다. |
250 | 요청한 파일 작업이 완료되었습니다. |
257 | "PATHNAME"이 생성되었습니다. |
300 Series | 명령이 수락되었지만 요청한 작업이 보류되어 추가 정보가 수신될 때까지 대기 중입니다. |
331 | 사용자 이름 확인. 암호가 필요합니다. |
332 | 로그인을 위해 계정이 필요합니다. |
334 | 서버가 클라이언트에 의해 지정된 인증 메커니즘을 받아들이지만 일부 보안 데이터를 교환해야 함을 지정합니다. |
335 | 클라이언트가 제공한 보안 데이터를 서버가 받아들이도록 지정합니다. 단, 추가 보안 데이터를 교환해야 합니다. |
350 | 추가 정보 보류 중 요청된 파일 작업 |
400 Series | 명령어가 받아들여지지 않아 요청된 액션이 실행되지 않았지만 오류 상태는 일시적이며 액션이 다시 요구될 수 있습니다. |
421 | 서비스를 사용할 수 없습니다. 제어 연결을 닫습니다.이는 서비스가 셧다운해야 한다는 것을 알고 있는 경우 임의의 명령에 대한 응답일 수 있습니다. |
425 | 데이터 연결을 열 수 없습니다. |
426 | 연결이 닫혔고 전송이 중단되었습니다. |
430 | 잘못된 사용자 이름 또는 암호 |
434 | 요청된 호스트를 사용할 수 없습니다. |
450 | 요청된 파일 작업이 수행되지 않았습니다. |
451 | 요청된 작업이 중단되었습니다.처리 중 로컬 오류입니다. |
452 | 요청된 작업이 수행되지 않았습니다.시스템의 저장 공간이 부족합니다.파일을 사용할 수 없습니다(예: 파일 사용 중). |
500 Series | 구문 오류, 명령을 인식할 수 없으며 요청된 작업이 수행되지 않았습니다.여기에는 명령줄 길이가 너무 긴 등의 오류가 포함될 수 있습니다. |
501 | 매개 변수 또는 인수에 구문 오류가 있습니다. |
502 | 명령이 구현되지 않았습니다. |
503 | 명령어 시퀀스가 잘못되었습니다. |
504 | 해당 파라미터에 대해 명령어가 구현되지 않았습니다. |
530 | 로그인하지 않았습니다. |
532 | 파일을 저장하기 위한 계정이 필요합니다. |
534 | 정책상의 이유로 요청이 거부되었습니다. |
550 | 요청된 작업이 수행되지 않았습니다.파일을 사용할 수 없습니다(예: 파일을 찾을 수 없음, 액세스 불가). |
551 | 요청된 작업이 중단되었습니다.페이지 유형을 알 수 없습니다. |
552 | 요청된 파일 작업이 중단되었습니다.스토리지 할당을 초과했습니다(현재 디렉토리 또는 데이터 세트의 경우). |
553 | 요청된 작업이 수행되지 않았습니다.파일 이름이 허용되지 않습니다. |
600 Series | 기밀성 및 무결성에 대한 답변 |
631 | 무결성 보호 응답 |
632 | 기밀성 및 무결성 보호 응답 |
633 | 기밀로 보호된 회신. |
10000 Series | 일반적인 Winsock 오류 코드[2] (FTP 리턴 코드가 아닙니다) |
10054 | 피어에 의해 접속이 리셋 되었습니다.원격 호스트가 연결을 강제로 닫았습니다. |
10060 | 원격 서버에 연결할 수 없습니다. |
10061 | 원격 서버에 연결할 수 없습니다.서버에 의해 연결이 현재 거부되었습니다. |
10065 | 호스트/DNS에 대한 경로를 확인할 수 없습니다. |
10066 | 디렉토리가 비어 있지 않습니다. |
10068 | 사용자가 너무 많아서 서버가 꽉 찼습니다. |
「 」를 참조해 주세요.
레퍼런스
- ^ RFC 959
- ^ Windows 소켓 오류 코드, Microsoft Windows Dev Center