2016년 8월 9일 화요일

정보보안기사 정리 18 - HTTP 상태코드, HTTP 메소드, HTTP 요청, 응답 메시지 헤더, MIME 개념

HTTP 상태코드 요약, HTTP 메소드



1. 대분류
- 코드번호 : 분류의미 : 설명
- 1xx : information : 클라이언트의 요청을 받았고, 처리중이라는 것. 특정 상황이 아닌 이상 1xx의 응답을 클라이언트에게 안보냄.
- 2xx : Success : 클라이언트의 요청을 정상적으로 처리 함.
- 3xx : Redirection : 클라이언트 요청 처리를 위해 추가적인 처리가 필요 함.
- 4xx : Client Error : 클라이언트의 잘못된 요청.
- 5xx : Server Error : 클라이언트 요청은 잘못되지 않았지만 서버에서 처리도중 문제가 발생했다는 것.


2. 1xx : information : 클라이언트의 요청 처리중.
- 잘 사용 안함.
- 100 : Continue, 클라이언트의 요청이 서버에 접수되었고, 클라이언트는 요청 메세지의 나머지 부분을 발송할 수 있음.
  요청 메시지를 모두 보내면 서버로부터의 100 응답을 무시하며, 서버는 요청이 완료된 다음 마지막 응답 메시지를 전송함.
- 101 Switching Protocols (프로토콜 변환) : 서버는 Upgrade 헤더 필드에 명시된 프로토콜로 교환하기 위한 클라이언트 요청에 따르고 있다는 것을 의미.


3. 2xx : Success : 클라이언트의 요청을 정상적으로 처리 함.
- 200 : 요청 처리 완료
- 202 : 클라이언트 요청은 받아들여졌지만 아직 완료되지 않음.
- 204 : No Content, 요청은 처리 했으나 반환하는 내용은 없음. 즉, 새로운 문서가 없어서 브라우저에게 이전 문서를 계속 표시하라고 알려주는 것.
- 205 : Reset Content, 클라이언트 브라우져의 창을 초기화 시킴. 즉, 서버가 요구를 완전히 처리하였으며 클라이언트는 요구를 발송한 문서의 내용을 지워야 함.
- 206 : Partial Content, 서버가 요청된 크기의 데이터만큼을 반환하고 있다는 것.
  

4. 3xx : Redirection : 클라이언트 요청 처리를 위해 추가적인 처리가 필요 함.
- 301 : Moved Permanently, 요청된 리소스에는 새로운 URI가 지정되어 있기 때문에, 이후로는 새 URI를 사용해야 한다는 것을 나타냄. (영구적인 URI 변경)
- 302 : Found, 요청된 리소스의 URI가 일시적으로 새로운 URI를 가지므로 새 URI를 사용해야 함. (일시적 URI 변경)
- 303 : 요구된 자원이 별도의 URI(Location 헤더에 명시한)에 임시로 보관되어 있으며, 반드시 GET method를 사용하여 조회해야 함.
- 304 : Not Modified, 요청한 리소스가 마지막 요청 이후 변경된 적이 없기 때문에 기존 클라이언트의 로컬 캐시 리소스를 사용해도 됨.
- 305 : Use Proxy, Location 필드에 명시된 Proxy URL에 요청해야 함.
- 307 : Temporary Redirect, 요청된 URI를 다른 URI로 리다이렉트함.


5. 4xx : Client Error : 클라이언트의 잘못된 요청.
- 400 : Bad Request, 클라이언트의 요청 문법적 오류가 있음.
- 401 : Unauthorized, 잘못된 인증 정보.
- 403 : Forbidden, 서버가 요청을 이해했으나 페이지에 대한 접근을 거부함.
- 404 : Not Found, 클라이언트가 요청한 자원이 서버에 없음.
- 405 : Method Not Allowed, 클라이언트에게 허용되지 않은 HTTP 메소드를 사용함.


6. 5xx : Server Error : 클라이언트 요청은 잘못되지 않았지만 서버에서 처리도중 문제가 발생했다는 것.
- 500 : Internal Server Error, 서버에서 클라이언트 요청을 처리 중에 에러가 발생함.
- 501 : Not Implemented, 클라이언트 요구를 처리할 메소드가 서버에 없음.
- 503 : Service Unavailable, 서버가 일시적으로 요청을 처리할 수 없음. 서버가 과부하 상태이거나 점검중이므로 요청을 처리할 수 없음.
- 504 : Gateway Timeout, 게이트웨이나 프락시 역할을 수행하는 서버가 시간 내에 요구를 완료하려는 했지만 다른 서버로부터 응답을 시간내에 못 받음.
서버를 통하는 게이트웨이에 문제가 발생하여 시간이 초과됨.
- 505 : HTTP Version Not Supported, 해당 HTTP 버전에서는 지원되지 않는 요청 임.


7. HTTP 메소드
- GET : 요청 URL이 가진 자원을 검색 또는 요청하는 것.
  형식: http://aaa.com/test.php?name1=value1&name2=value2
  URL에 데이터가 노출,  데이터가 헤더에 노출됨
- POST : 요청 URL이 가진 웹 페이지의 Form 입력을 처리를 위한 것.
  데이터가 BODY에 포함되어 전달됨. URL에 데이터가 노출되지 않음.
- PUT : 내용 갱신, 요청된 URL의 자원을 생성. (예:  파일 업로드)
- DELETE : 요청한 URL에 있는 자원이나 파일을 삭제.
- HEAD : 웹서버의 현재 상태, 버전 정보등을 얻는데 사용. GET과 유사하지만 웹 서버는 헤더 정보 외에 어떤 데이터도 안보냄.
- OPTION : 요청한 URL에 어떤 HTTP 메소드 요청이 가능한지 묻는 것.
- CONNECT : 웹 서버에 프락시 기능을 요청할 때 사용.
- TRACE : 관리 및 디버깅을 위한 메소드

* 참고
- http://www.coolcheck.co.kr/upload/http_scode.asp
- http://ooz.co.kr/260


8. HTTP 요청 메시지 헤더 예
- GET /books/search.asp HTTP/1.1
  Accept: image/gif, image/xxbitmap, image/jpeg, image/pjpeg,
  application/xshockwaveflash, application/vnd.msexcel,
  application/vnd.mspowerpoint, application/msword, */*
  Referer: http://wahh-app.com/books/default.asp
  Accept-Language: en-gb,en-us;q=0.5
  Accept-Encoding: gzip, deflate
  User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
  Host: wahh-app.com
  Cookie: lang=en; JSESSIONID=0000tI8rk7joMx44S2Uu85nSWc_:vsnlc502
  ( 공백행 )
- 설명
  GET 메소드 사용. search.asp 문서 요청. HTTP 버전 1.1 사용.
  (GET 메소드의 요청의 실제 데이터 부분은 항상 비어 있음. 이 메소드는 대게 파일을 달라는 요청을 하는 것이며 입력된 데이터는 URL에 덧붙혀짐.)
  POST 메소드의 경우 사용자의 입력 데이터가 데이터 부분에 있음.
  공백행은 헤더의 끝을 알림
  * 참고의 사이트에 파라미터별 설명이 있음.


9. HTTP 응답 메시지 헤더 예
- HTTP/1.1 200 OK
  Date: Sat, 19 May 2007 13:49:37 GMT
  Server: IBM_HTTP_SERVER/1.3.26.2 Apache/1.3.26 (Unix)
  Set-Cookie: tracking=tI8rk7joMx44S2Uu85nSWc
  Pragma: no-cache
  Expires: Thu, 01 Jan 1970 00:00:00 GMT
  Content-Type: text/html;charset=ISO-8859-1
  Content-Language: en-US
  Content-Length: 24246
  ( 공백행 )
- 설명
  HTTP 버전 및 상태 코드
  공백행은 헤더의 끝을 알림
  Pragme는 캐시 여부 결정
  * 참고의 사이트에 파라미터별 설명이 있음.


10. MIME 개념
- MIME[마임]은 아스키 데이터만을 처리할 수 있는 원래의 인터넷 전자우편 프로토콜, 즉 SMTP를 확장하여 
  오디오, 비디오, 이미지, 응용프로그램, 기타 여러가지 종류의 데이터 파일들을 주고받을 수 있도록 기능이 확장된 프로토콜임.
- 웹 서버는 응답 메시지의 헤더에 MIME 타입을 넣으며, 클라이언트는 헤더가 나타내는 데이터 형식에 따라 이를 재생시키기 위한 적절한 응용프로그램을 선택 함.

* 참고
- http://www.ktword.co.kr/abbr_view.php?m_temp1=3790
- http://smilekey.blogspot.kr/2009/09/http-header-%EC%A0%95%EB%A6%AC.html
- http://terms.co.kr/MIME.htm

댓글 없음:

댓글 쓰기