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 표준  


"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"