Computer/LINUX

HTTP response

알찬돌삐 2012. 8. 10. 16:19

 

 http://lab.zagia.com/developer_zone/bbs/link.php?bo_table=devzone_crawler&wr_id=5&no=1

HTTP/0.9의 요구에 대해서는 단지 Entity-Body만을 돌려주는 형태의 응답을 한다. 그 이상의 버전은 다음과 같은 형태의 응답을 한다.
 
Full-Response  Status-Line
                  General-Header
                  Response-Header
                  Entity-Header
                  CRLF
                  Entity-Body
 
Status-Line
요구 처리의 성공 여부와 오류가 생겼을 경우 그 이유 등을 전달한다.
HTTP-Version SP Status-Code SP Reason-Phrase CRLF
Status Code와 Reason Phrase: 클라이언트는 Status Code로부터 정상적인 수행인지 오류인지를 판단하여 그에 대한 처리를 한다. Status Code는 3자리의 정수로 이루어져 있다. Reason Phrase는 Status Code의 의미를 짧은 문장으로 보여준다.
표 1은 Status Code에 대한 내용이다.
 
Response-Header
Status Line으로 전달하기는 어려운 여분의 정보를 클라이언트에게 전달할 필요가 있을 때 사용된다.
 
Location Response Header: 요청된 URI가 이동되었을 경우 301(moved permanently) 또는 302(moved temporarily)의 Status Code가 돌려지는데 이 때 이동된 URI를 클라이언트에게 알려주기 위하여 사용된다.
예) Location: http://202.31.130.75
 
Server Response Header: 서버 프로그램에 관한 정보를 포함하고 있다.
예) Server: NCSA/1.5.2
 
Retry-After Response Header : 서버가 너무 많은 요구를 처리하고 있어 현재 클라이언트의 요청을 처리할 수 없음을 나타낸다.
예) Retry-After: Wed, 05 Nov 2003 10:03:45 GMT
 
General Header
Date General Header: 이는 proxy/gateway를 통해서 SMTP나 NNTP와 데이터를 교환하는 경우를 고려해 HTTP/1.0에서는 반드시 전송하도록 규정되어 있다.
예) Date: Wed, 05 Nov 1997 10:03:46 GMT
    Date: Wednesday, 05-Nov-97 10:03:46 GMT
    Date: Wed Nov 05 10:03:46 1997
 
Entity Header
Allow Entity Header: 요청한 URI에 적용될 수 있는 method들의 리스트를 수신측에 전달한다. (Allow: GET, HEAD, PUT)
 
Content-Encoding Entity Header: 요청된 URI가 압축되었거나 암호화 되었을 경우 그 인코딩 형식을 수신측에 전달하기 위해 사용한다.
예) Content-Encoding: x-gzip
 
Content-Type Entity Header: 응답에 Entity-Body가 포함된 경우 그 자료의 Media type을 나타내기 위해 사용된다.
예) Content-Type: text/html
 
Content-Length Entity Header: Entity-Body의 길이를 바이트 단위로 나타난다.
예) Content-Length: 1234
 
Last-Modified Entity Header: 요청된 URI의 최종 변경 시간/날짜를 클라이언트 측에 알려주기 위한 것이다.
예) Last-Modified: Wed, 05 Nov 1997 10:03:46 GMT
 
위 설명중 웹 로봇에서는 Status-Line과 Last-Modified, Content-Type, Content-Length등의 Response Header들을 유용하게 사용할 수 있다.

이 글은 스프링노트에서 작성되었습니다.

.

'Computer > LINUX' 카테고리의 다른 글

mod_cband (apache 2.x)  (0) 2012.08.10
httpd.conf  (0) 2012.08.10
HTTP Request  (0) 2012.08.10
HTTP ERROR  (0) 2012.08.10
http 1.0 막기  (0) 2012.08.10