HTTP Message   HTTP 메세지

(2020-11-03)

HTTP 요청 메세지, HTTP 응답 메세지, 요청 , 응답


1. HTTP의 요청 및 응답HTTP 동작 구조
     - 웹서버웹브라우저 간의 요청 및 응답 구조
         HTTP 메세지
     - 웹서버웹브라우저 간에 전달되는 정형화된 데이터 덩어리


2. 요청(Request) 메세지 구성

  ㅇ 시작줄 : 요청 행 (Request line) 
     

     - 요청 방법(method)                                          ☞ HTTP 요청 메소드 참조
        . HTTP 요청 메소드 : GET, POST, HEAD, PUT, CONNECT, UNLINK, LINK 등                                

     - 요청 URI (URL) 
        . 보통, 경로(/) 이후 상대 URI(절대 경로가 아님)를 주고, 이를 텍스트 문자열로 표기함
           .. 例) /section/page.html?page=1 등
        . 구분자 : 문서 경로(/), 쿼리 파라미터들(?), URI 프래그먼트(#)

     - HTTP 버젼(Version)
        . 例)  GET /dir/page.html HTTP/1.1

  ㅇ HTTP 요청 헤더 (HTTP Request Header)                         ☞ HTTP 요청 헤더 참조
     

     - 일련의 요청 헤더 행(header line)들로 구성                  ☞ HTTP 요청 헤더 항목 참조
        . 하나의 요청 메세지에 복수의 헤더 항목들을 갖을 수 있음
        . 각 헤더 항목 줄에는 `이름: 값` 형식의 구성을 함
        . 헤더 항목 이름(Name) 뒤에 `:`와 `빈칸`을 두고 값(Value)이 옴

     -  例)
        .  Host: www.kt.co.kr  ⇒  요청받는 페이지가 존재하는 호스트 이름 (Host 항목은 필수)
        .  User-Agent: Mozilla/4.0  ⇒  넷스케이프 브라우저

  ㅇ 빈 줄 (blank line)  : (헤더의 끝을 의미함)
     HTTP 요청 메세지 헤더 例)
     
GET / HTTP/1.1          // 요청 행 (메소드,웹페이지 디렉토리,버젼)
Host: www.ktword.co.kr  // 호스트명
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4
User-Agent: Mozilla/5.0 (...) // 웹브라우저
HTTP 본체 (HTTP Body) - 단, 요청방법의 메소드가 POST가 아니면, 항상 비어있는채로 전달됨 3. 응답(Response) 메세지 구성 ㅇ 시작줄 : 응답 행 (Response line) 또는 상태 행 (Status line) - HTTP 버젼 - 요청 성공여부에 대한 코드HTTP 상태 코드 참조 . 1xx : 처리중, 2xx : 성공, 3xx : 리다이렉션, 4xx : 클라이언트 오류, 5xx : 서버 오류 . 例) 200 OK : 요청 성공, 400 Bad Request : 요청 오류 등 - 例) HTTP/1.1 200 OK -> HTTP 버젼이 1.1이며, 상태 코드 200(요청 성공)이 OK라는 뜻 ㅇ HTTP 응답 헤더 (HTTP Response Header) ☞ HTTP 응답 헤더 참조 - 일련의 응답 헤더 행(header line)들로 구성 ☞ HTTP 응답 헤더 항목 참조 . 하나의 응답 메세지에 복수의 헤더 항목들을 갖을 수 있음 . 각 헤더 줄에는 `이름: 값` 형식의 구성을 함 . 이름(Name) 뒤에 `:`와 `빈칸`을 두고 값(Value)이 옴 .. 例) Server: Apache/1.3.0 <- 응답결과가 아파치 웹서버에 의해 만들어짐 ㅇ 빈 줄 (blank line) : (헤더의 끝을 의미함) HTTP 응답 메세지 헤더 例)
HTTP/1.1 200 OK        // 응답 행 (버젼,응답 코드)
Connection: Keep-Alive
Content-Length: 6330
Content-Type: text/html
Date: Fri, 03 Apr 2015 07:27:57 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.2.16 (Win32) PHP/5.3.13
X-Powered-By: PHP/5.3.13
HTTP 바디 (HTTP Body)

HTTP
   1. HTTP   2. HTTP 메세지   3. HTTP 메소드   4. HTTP 상태코드   5. 프록시   6. 프록시 보안   7. HTTP 캐시   8. 쿠키   9. HTTPS   10. HTTP 표준  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"