반응형
정의
HTTP(HyperText Transfer Protocol)는 인터넷 상에서 데이터를 주고받기 위한 통신 프로토콜 중 하나입니다. HTTP는 웹 브라우저와 웹 서버 간의 통신을 담당하며,
클라이언트가 서버에게 데이터를 요청(request)하고, 서버는 클라이언트에게 응답(response)합니다.
작동방식
HTTP는 요청-응답(request-response) 방식으로 작동하며, 일반적으로 클라이언트가 웹 페이지를 요청하면, 서버는 해당 페이지를 포함한 HTML 파일, 이미지, 동영상 등의 리소스를 클라이언트에게 전송합니다.
HTTP 프로토콜의 구성 요소
- HTTP 메소드(Method): 클라이언트가 서버에게 요청을 보낼 때 사용되는 메소드입니다. 대표적인 HTTP 메소드로는 GET, POST, PUT, DELETE 등이 있습니다.
- URI(Uniform Resource Identifier): 인터넷 상에서 리소스를 고유하게 식별하기 위한 문자열입니다.
- 헤더(Header): 요청이나 응답의 메타데이터를 포함하는 부분입니다. 헤더는 요청이나 응답의 정보, 인증 정보, 캐시 제어 정보 등을 담을 수 있습니다.
- 본문(Body): 요청이나 응답의 실제 데이터를 포함하는 부분입니다. 일반적으로 GET 메소드에서는 본문을 사용하지 않습니다. POST나 PUT 메소드에서는 본문에 데이터를 실어 보냅니다.
HTTP Request 예제
[http method] [URL] [HTTP version]
[header]
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Connection: keep-alive
- HTTP 메소드(Method): GET
- URI(Uniform Resource Identifier): /index.html
- 버전(Version): HTTP/1.1
- 헤더(Header): Host, User-Agent, Accept, Accept-Language, Connection
HTTP Response 예제
[HTTP version] [status code]
[Header]
[Body]
HTTP/1.1 200 OK
Date: Wed, 12 May 2021 10:12:34 GMT
Server: Apache/2.4.29 (Unix)
Last-Modified: Fri, 01 May 2020 12:34:56 GMT
ETag: "abcd1234efgh5678"
Content-Length: 1234
Content-Type: text/html
<!DOCTYPE html>
<html>
<head>
<title>Example Web Page</title>
</head>
<body>
<h1>Hello, World!</h1>
<p>This is an example web page.</p>
</body>
</html>
- 버전(Version): HTTP/1.1
- 상태 코드(Status Code): 200 OK
- 헤더(Header): Date, Server, Last-Modified, ETag, Content-Length, Content-Type
- 본문(Body): HTML 문서
반응형
'old > Cyber Security' 카테고리의 다른 글
APM에서 MySQL: 기초 사용법과 설정 (0) | 2023.04.07 |
---|---|
HTTP 상태 코드: 요청-응답 과정에서 발생하는 상태 코드 정리 (0) | 2023.04.06 |
Assignment: DB 연결 테스트. : DB에 데이터 넣고, 화면에 출력해보기. (0) | 2023.04.05 |
HTTP URI: 웹 리소스를 고유하게 식별하는 구성요소 (0) | 2023.04.05 |
Assignment: GET / POST 메서드로 웹 서버에 데이터 전달해보기. (0) | 2023.04.05 |