HTTP 요청과 HTTP 응답 메세지 구조
HTTP(HyperText Transfer Protocol, 문화어: 초본문전송규약, 하이퍼본문전송규약)는 WWW 상에서 정보를 주고 받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고 받는 데에 쓰인다. TCP와 UDP를 사용하며, 80번 포트를 사용한다. 1996년 버전 1.0, 그리고 1999년 1.1이 각각 발표되었으며, 현재 가장 널리 쓰이는 버전이 1.1이다.
HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다. 예를 들면, 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 웹페이지나 그림 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 정보를 해당 사용자에게 전달하게 된다. 이 정보가 모니터와 같은 출력 장치를 통해 사용자에게 나타나는 것이다.
HTTP를 통해 전달되는 자료는 http:로 시작하는 URL(인터넷 주소)로 조회할 수 있다.
Request Line |
method URL version 요청 방식과 URL을 기술 (ex) GET /login.jsp HTTP/1.1
GET : 요청 방식(Method) 중 하나 /login.jsp : 요청하는 페이지
HTTP/1.1 : 프로토콜 버전 |
Header Line |
Header_Field_Name : value HTTP 프로토콜을 이용하는데 필요한 부가 정보를 기술
Host : 서버의 기본 URL ex) Host : 127.0.0.1:8000 Connection : ex) keep-alive Cache-control : ex) max-age=0 Accept : ex) text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Content-Type : 요청 문서의 미디어 타입 Content-Length : 전송되는 메시지의 길이 User-Agent : 클라이언트의 요청 에이전트 종류 운영체제, 운영체제의 종류, 현재 브라우저의 종류, GPS 위도 경도 좌표 등 ex) Mozila/5.0 (Windows NT 5.1) AppleWebKit/537.36(KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36 Accept-Language : 클라이언트가 처리할 수 있는 언어 ex) ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4 Accept-Encoding : ex) gzip, deflate, sdch Cookie : 웹상에서의 주민번호와 같음ex) JSESSIONID=6360435F8F56E41C89F797E4632AC12A
Refer : 다른 페이지를 요청할 경우 이전 페이지의 주소 |
Entitiy Body |
Request_Data 서버로 전달하려는 실제 메시지를 포함하는 부분 |
[Response Message : Web Server -> Client]
Response Line |
version status (ex) HTTP/1.1 200 OK HTTP/1.1 : 프로토콜 버전 200 OK : 상태 코드, 정상적으로 접속됨을 의미 |
Header Line |
Header_Field_Name : value 각각의 항목은 이름과 값으로 구성된다.
Date
패킷 생성 시간 ex) Date: Fri, 28 Jun 2013 06:26:33 GMT
Server 서버 정보를 담고 있지만 이 부분을 클라이언트에게 줄 경우 위험(보통 주지 않음) ex) Server: Apache-Coyote/1.1
Cache-Control
클라이언트가 받은 문서를 캐시(Cache)에 저장할 것인지 여부를 설정
Connection 항목은 웹 브라우저의 연결 방식을 지정한다. 웹 브라우저가 영속적 HTTP 연결을 사용하지 않도록 설정하려면 Connection 항목의 값을 close로 지정하면 된다. 기본적으로는 영속적 연결을 사용한다.
Connection
웹 서버로부터 응답이 완료된 후 연결을 유지할 것인지 끊을 것인지를 지정
Expires 항목은 캐시에 문서가 남아있을 시간을 설정한다. Expires 항목에 지정된 시간만큼 클라이언트의 캐시에 문서가 보관된다.
Expires
캐시에 문서가 저장되어있을 시간을 설정
Refresh 항목은 웹 브라우저가 Refresh 항목에 지정된 웹 페이지로 자동 연결하도록 지정하기 위해 사용한다.
Refresh
또 다른 웹 페이지의 자동 로딩을 지정
Set-Cookie
쿠키를 설정
|
Data |
Response_Data 클라이언트로부터 전달된 요청의 수행 결과가 포함된다. HTTP 응답 메시지는 첫번째 줄을 제외하고 HTTP요청 메시지와 유사한 구조를 가지고 있다.
<html><body> Hello </body></html> |
[출처] http://blog.naver.com/abrightpn/60194877969
[출처] [인터넷/웹] HTTP 요청과 HTTP 응답 메세지 구조|작성자 주한길
'Internet W3' 카테고리의 다른 글
웹킷(WebKit)이란 무엇인가? (0) | 2015.07.17 |
---|---|
HTTP Protocal Status Code Message (0) | 2015.07.17 |
HTTP 상태코드 - 200, 201, 301, 303, 400, 401, 404, 500, 503 (0) | 2015.07.17 |
HTTP 프로토콜 개요, 특징 (0) | 2015.07.17 |
W3C (World Wide Web) 컨소시엄 (0) | 2015.07.17 |