Creative Commons License

Microsoft .NET

닷넷!시작하기
닷넷! Ver 2.0~
닷넷!스킬업
웹개발
윈폼개발
실용모듈개발
Tip & Tech
하루 한 문법

Microsoft .NET 개발자들을 위한 공간입니다. 기초강의에서 부터 고급 기술 정보 및 팁등을 다루도록 하겠습니다.

.

웹개발

이제 웹 기반 응용개발 지식은 거의 필수적으로 요구되는 시대입니다. 구체적인 웹 사이트 개발은 아니더라도 거시적인 웹 기반 서비스에 대한 지식 배양을 위해 할 것이 참 많네요 ^^

[HTTP 프로토콜] HTTP 헤더

작성자 : 박종명
최초 작성일 : 2008-05-07 (수요일)
최종 수정일 : 2008-05-07 (수요일)
조회 수 : 6754

* HTTP 헤더
    아래 헤더 정보는 텍스트만 있는 HTML 문서에 대한 요청/응답 헤더 입니다.
    HTTP Version 1.1을 기준으로 작성된 헤더정보 입니다
   (클라이언트 환경은 windows xp,net framework 1.1,ie 6.0 입니다)




- 요청 헤더 -

    GET /test/test.htm HTTP /1.1 
        
요청 method 와 요청 파일정보,http 버전.
        HTTP
프로토콜은 클라이언트가 서버에게 요청하는 방식에 대한 몇 가지 동작을 정의하고 있습니다.
       
, 요청 method 란 클라이언트가 서버로의 요청하는 방법을 명시합니다


GET

지정된 리소스(URI)를 요청

POST

서버가 클라이언트의 폼 입력 필드 데이터의 수락을 요청.
클라이언트는 서버로 HTTP Body Data 를 전송한다

HAED

문서의 헤더 정보만 요청.
응답데이터(body) 를 받지 않는다

PUT

클라이언트가 전송한 데이터를 지정한 uri 로 대체 한다
ftp
put 와 동일.
역시 클라이언트는 서버로 HTTP Body Data 를 전송한다

DELETE

클라이언트가 지정한 URI 를 서버에서 삭제

TRACE

클라이언트가 요청한 자원에 도달하기 까지의 경로를 기록하는
루프백(loop back) 검사용.
클라이언트가 요청 자원에 도달하기 까지 거쳐가는 프록시나

게이트웨이의 중간 경로부터 최종 수진 서버까지의 경로를 알아낼 때

사용.


 

Accept : 클라이언트가 허용할 수 있는 파일 형식(MIME TYPE)
                 */* 은 특정 유형이 아닌 모든 파일형식을 다 지원한다는 말입니다

User-Agent : 클라이언트 소프트웨어(브라우저,os) 의 이름과 버전 등.
                        위의 정보에서는 MS IE 6.0, 윈도우 XP, .NET Framework 1.1 버전이
                       
클라이언트에 설치되어 있음을 나타냅니다

 

Host : 요청을 한 서버의 Host 입니다          

 

If-Modified-Since : 페이지가 수정되었으면 최신 버전 페이지 요청을 위한 필드.
                                 
만일 요청한 파일이 이 필드에 지정된 시간 이후로 변경되지 않았다면,
                                 
서버로부터 데이터를 전송 받지 않습니다.
                                 
, 이 경우 서버로부터 net modified (304) 상태코드를 전송 받습니다




   위의 헤더 정보는 동일한 파일을 재 요청 했을 때의 응답헤더 입니다
파일을 변경사항이 없으므로 304(수정되지 않음) Content-Length : 0 (데이터

받지 않음) 응답을 받았습니다. 이렇게 함으로써 http 는 요청의 부하를 줄이고 있습니다

Refer : 위의 요청 헤더에는 나와 있지 않지만 이 정보도 헤더에 자주 등장하는
필드 입니다.
특정 페이지에서 링크를 클릭하여 요청을 하였을 경우에 나타나는 필드로써
링크를 제공한 페이지를 나타냅니다

Cookie : 역시 위의 요청에는 없지만 자주 등장하는 필드 입니다ㅏ.
웹 서버가 클라이언트에 쿠키를 저장해 놓았다면 해당 쿠키의
정보를 이름-값 쌍으로 웹 서버에게 전송합니다

Accept-Language : 클라이언트가 인식할 수 있는 언어.
          
우선 순위 지정이 가능합니다

 

Accept-Encoding : 클라이언트가 인식할 수 있는 인코딩(압축) 방법
              
위의 내용에서는 서버에서 gzip,deflate 로 압축한 리소스를

                                   클라이언트가 해석 할 수 있다는 말이 됩니다

                                   만일 서버에서 압축을 했으면 응답헤더에 Content-Encoding 헤더에

                                   해당 압축 방법이 명시 됩니다


- 응답 헤더 ?



HTTP /1.1 200 OK : HTTP 버전과 응답 코드 (200 성공)

  
Server : 웹 서버 정보를 나타냅니다

                   위의 정보에서는 Microsoft IIS 5.1 입니다.

Date :  현재 날짜

Content-Type : 요청한 파일의 MIME 타입을 나타냅니다

                               Text/html text html 파일임을 나타냅니다

Last-Modified : 요청한 파일의 최종 수정일을 나타냅니다

Content-Length :
헤더 이후 이어지는 데이터의 길이입니다(바이트 단위)
                                 
이어지는 데이터란 요청한 파일의 데이터라 보시면 됩니다

ETag : 캐쉬 업데이트 정보를 위한 임의의 식별 숫자


 

이상 요청과 응답 시 생성되는 HTTP Header 중 자주 등장하는 필드에 대한

설명 이었습니다. HTTP Header 는 위의 명시된 것 이외에도 많이 있습니다.

아래에 링크로 가시면 HTTP 1.1 기준의 Header 의 상세 정보를 보실 수 있습니다.

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

이름
비밀번호
홈페이지
HM <- 왼쪽의 문자를 오른쪽 박스에 똑같이 입력해 주세요