HTTP란?

HTTP(HyperText Transfer Protocol)는 WWW 상에서 정보를 주고받을 수 있는 프로토콜이다.


HTTP 응답 코드 종류

응답코드

의미설명
100Continue클라이언트로 부터 일부 요청을 받았으며 나머지 정보를 계속 요청함
101Switching protocols프로토콜 전환. 요청자가 서버에 프로토콜 전환을 요청했으며 서버는 이를 승인하는 중이다.
200OK요청이 성공적으로 수행되었음
201Created성공적으로 요청되었으며 서버가 새 리소스를 작성했음
202Accepted웹 서버가 요청을 접수했지만 아직 처리하지 않음
203Non-authoritative information신뢰할 수 없는 정보, 서버가 요청을 성공적으로 처리했지만 다른 소스에서 수신된 정보를 제공하고 있음
204No content콘텐츠 없음. 서버가 요청을 성공적으로 처리했지만 콘텐츠를 제공하지 않음
205Reset Content, 콘텐츠 재설정 - 서버가 요청을 성공적으로 처리했지만 콘텐츠를 제공하지 않음
206Partial content일부 콘텐츠. 서버가 GET요청의 일부만 성공적으로 처리했음
301Moved permanently요구한 데이터를 변경된 타 URL에 요청함
302Not temporarily
304Not modified컴퓨터 로컬의 캐시 정보를 이용함, 대개 gif 등은 웹 서버에 요청하지 않음
400Bad request사용자의 잘못된 요청을 처리할 수 없음
401Unauthorized인증이 필요한 페이지를 요청한 경우
402Payment required예약됨
403Forbidden접근 금지, 디렉터리 리스팅 요청 및 관리자 페이지 접근 등을 차단)
404Not found요청한 페이지 없음
405Method not allowed허용되지 않는 http method 사용함
407Proxy authentication required프락시 인증 요구됨
408Request timeout요청 시간 초과
410Gone영구적으로 사용 금지
412Precondition failed전체 조건 실패
414Request-URI too long요청 URL 길이가 긴 경우임
500Internal server error내부 서버 오류
501Not implemented웹 서버가 처리할 수 없음
503Service unnailable서비스 제공 불가
504Gateway timeout게이트웨이 시간 초과
505HTTP version not supported해당 http 버전 지원되지 않음



HTTP 응답 코드 종류

GET

GET 요청 방식은 URI(URL)가 가진 정보를 검색하기 위해 서버 측에 요청하는형태이다

전송 형태

GET [request-uri]?query_string
HTTP/1.1\r\n
Host:[Hostname] 혹은 [IP] \r\n

POST

POST 요청 방식은 요청 URI(URL)에 폼 입력을 처리하기 위해 구성한 서버 측 스크립트(ASP, PHP, JSP 등) 혹은 CGI 프로그램으로 구성되고 Form Action과 함께 전송되는데, 이때 헤더 정보에 포함되지 않고 데이터 부분에 요청 정보가 들어가게 된다.

전송 형태

POST [request-uri]?query_string
HTTP/1.1\r\n
HOST:[Hostname] 혹은 [IP] \r\n
Content-Lenght:[Lenght in Bytes] \r\n
\r\n
[query-string] 혹은 [데이터]

HEAD

HEAD 요청 방식은 GET과 유사한 방식이나 웹 서버에서 헤더 정보 이외에는 어떤 데이터도 보내지 않는다.
웹 서버의 다운 여부 점검(Health Check)이나 웹 서버 정보(버전 등)등을 얻기 위해 사용될 수 있다.

전송 형태

HEAD [request-uri] HTTP/1.1\r\n
Host:[Hostname] 혹은 [IP] \r\n

OPTIONS

해당 메소드를 통해 시스템에서 지원되는 메소드 종류를 확인할 수 있다.

전송 형태

OPTIONS [request-ri]
HTTP/1.1\r\n
Host:[Hostname] 혹은 [IP] \r\n

PUT

POST와 유사한 전송 구조를 가지기 때문에 헤더 이외에 메시지(데이터)가 함께 전송된다.
원격지 서버에 지정한 콘텐츠를 저장하기 위해 사용되며 홈페이지 변조에 많이 악용되고 있다.

전송 형태

PUT [request-uri] HTTP/1.1\r\n
Host:[Hostname] 혹은 [IP] \r\n
Content-Lenght:[Length in Bytes] \r\n
Content-Type:[Content Type] \r\n
\r\n
[데이터]

DELETE

원격지 웹 서버에 파일을 삭제하기 위해 사용되며 PUT과는 반대 개념의 메소드이다.

전송 형태

DELETE [request-uri] HTTP/1.1\r\n
Host:[Hostname] 혹은 [IP] \r\n
\r\n

TRACE

원격지 서버에 Loopback(루프백) 메시지를 호출하기 위해 사용된다.

전송 형태

TRACE [request-uri] HTTP/1.1\r\n
Host:[Hostname] 혹은 [IP] \r\n
\r\n

CONNECT

웹 서버에 프락시 기능을 요청할 때 사용된다.

전송 형태

CONNECT [request-uri] HTTP/1.1\r\n
Host:[Hostname] 혹은 [IP] \r\n
\r\n

'기타' 카테고리의 다른 글

소프트웨어 라이선스  (0) 2019.03.17
HTTP 응답 코드 및 메소드  (0) 2018.11.06
YouTube to MP3 - 유투브 MP3 다운받기  (0) 2018.10.27
C/C++와 JAVA 비교  (0) 2018.01.10
REST API란?  (0) 2017.12.10
JSON이란?  (0) 2017.12.10

+ Recent posts