우보천리 개발
[1. Application Layer] HTTP Request Message and HTTP Response Message 본문
Computer Science/네트워크
[1. Application Layer] HTTP Request Message and HTTP Response Message
밥은답 2023. 4. 19. 23:23반응형
HTTP Protocol은 HTTP Request와 HTTP Reponse 메시지를 주고 받는다.
이 두개의 메시지에는 어떤 내용이 포함되어있는지 알아보고자 한다
HTTP Get Message
GET /blanks/index.html HTTP/1.1
Host: www.whatever.com
Connection: close
User-agent: Mozilla/5.0
Accept-language: kr
Get Message의 첫줄은 요청라인(request line) 이라고 하고 3개의 필드로 나뉘어져있다
- Method : GET,POST,DELETE,PUT 등. GET 방식은 객체를 요청할 때 사용
- URL
- HTTP Version
첫번째 줄을 제외한 나머지 줄은 헤더라인(header line) 이라고 한다
- Host : TCP로 이미 연결이 수립되었다는건데 굳이 Host를 넣는 이유는 웹 캐시에서 필요하기 때문
- Connection : Close의 의미는 비지속 연결을 하겠다
- 브라우저 타입
- 원하는 객체의 언어 버전. 만약 존재하지 않으면 기본 버전을 보낸다
HTTP Response Message
HTTP/1.1 200 OK
Connection : close
Date: Tue, 18 Aug 2023 23:15:04 GMT
Server: Apache/2.2.3 (Cent OS)
Last-Mopdified : Tue, 18 Aug 2023 15:23:44 GMT
Content-Length: 6821
Content-Type: text/html
(DATA DATA DATA ... )
Response Message는 3개의 섹션으로 나뉘어져있다.
상태라인, 헤더라인, 개체 몸체
- 상태라인 : 버전, 상태코드, 문장으로 이루어져있다.
- 헤더라인
- Connection:close : TCP연결을 닫을 것이라는 뜻
- DATE : HTTP 응답이 서버에 의해 생성되고 보내진 날짜와 시간
- Server: 아파치 웹서버에서 만들어졌다
- Last-Modified: 마지막 수정된 시간과 날짜를 나타내는데 웹캐시(프록시 서버)에서 객체의 상태 변화를 확인하기 위해 사용
- 상태코드
- 200 OK: 성공된 요청
- 301 Moved Permanently: 요청 객체가 새로운 주소로 이동
- 400 Bad Request: 서버가 요청을 이해하지 못함
- 404 Not Found: 요청한 문서가 서버에 존재하지 않음
- 505 HTTP Version Not Supported: HTTP 프로토콜 버전을 서버가 지원하지 않는다
반응형
'Computer Science > 네트워크' 카테고리의 다른 글
[DNS] DNS가 무엇이고 어떻게 작동하나? (0) | 2023.04.20 |
---|---|
[1. Application Layer] 쿠키와 세션 -특징과 차이점 (0) | 2023.04.19 |
[2. Transport Layer] Transmission Control Protocol(TCP) - Three-way handshake (0) | 2023.04.01 |
[2. Transport Layer] TCP and UDP - 구조와 특징 (0) | 2023.03.31 |
[1.Application Layer] 네트워크 애플리케이션 원리, HTTP 그리고 쿠키 (0) | 2023.03.31 |
Comments