보안 테스트-HTTP 프로토콜 기본 사항
프로토콜을 이해하는 것은 보안 테스트를 잘 이해하는 데 매우 중요합니다. 웹 서버와 클라이언트 간의 패킷 데이터를 가로 챌 때 프로토콜의 중요성을 인식 할 수 있습니다.
HTTP 프로토콜
HTTP (Hypertext Transfer Protocol)는 분산 된 협업 하이퍼 미디어 정보 시스템을위한 애플리케이션 수준 프로토콜입니다. 이것은 1990 년 이후 World Wide Web을위한 데이터 통신의 기초입니다. HTTP는 요청 메서드, 오류 코드 및 헤더의 확장을 사용하여 다른 목적으로 사용할 수있는 일반 및 상태 비 저장 프로토콜입니다.
기본적으로 HTTP는 TCP / IP 기반 통신 프로토콜로 HTML 파일, 이미지 파일, 쿼리 결과 등과 같은 데이터를 웹을 통해 전달하는 데 사용됩니다. 컴퓨터가 서로 통신 할 수있는 표준화 된 방법을 제공합니다. HTTP 사양은 클라이언트의 요청 된 데이터를 서버로 보내는 방법과 서버가 이러한 요청에 응답하는 방법을 지정합니다.
기본 기능
HTTP를 간단하면서도 강력한 프로토콜로 만드는 세 가지 기본 기능이 있습니다.
HTTP is connectionless− HTTP 클라이언트, 즉 브라우저가 HTTP 요청을 시작합니다. 요청을 한 후 클라이언트는 서버에서 연결을 끊고 응답을 기다립니다. 서버는 요청을 처리하고 클라이언트와의 연결을 다시 설정하여 응답을 다시 보냅니다.
HTTP is media independent− 클라이언트와 서버가 데이터 내용을 처리하는 방법을 알고있는 한 모든 유형의 데이터를 HTTP로 전송할 수 있습니다. 이는 클라이언트와 서버가 적절한 MIME 유형을 사용하여 컨텐츠 유형을 지정하는 데 필요합니다.
HTTP is stateless− HTTP는 비 연결이며 이는 HTTP가 상태 비 저장 프로토콜이라는 직접적인 결과입니다. 서버와 클라이언트는 현재 요청 중에 만 서로를 인식합니다. 그 후 두 사람은 서로를 잊는다. 프로토콜의 이러한 특성으로 인해 클라이언트와 브라우저는 웹 페이지에서 서로 다른 요청간에 정보를 유지할 수 없습니다.
HTTP / 1.0은 각 요청 / 응답 교환에 대해 새로운 연결을 사용하는 반면 HTTP / 1.1 연결은 하나 이상의 요청 / 응답 교환에 사용될 수 있습니다.
건축물
다음 다이어그램은 웹 애플리케이션의 매우 기본적인 아키텍처를 보여주고 HTTP가 어디에 있는지 보여줍니다.
HTTP 프로토콜은 웹 브라우저, 로봇, 검색 엔진 등이 HTTP 클라이언트 역할을하고 웹 서버가 서버 역할을하는 클라이언트 / 서버 아키텍처를 기반으로하는 요청 / 응답 프로토콜입니다.
Client − HTTP 클라이언트는 요청 방법, URI 및 프로토콜 버전의 형태로 서버에 요청을 전송 한 다음 TCP / IP 연결을 통해 요청 수정 자, 클라이언트 정보 및 가능한 본문 내용을 포함하는 MIME 유사 메시지를 보냅니다.
Server − HTTP 서버는 메시지의 프로토콜 버전과 성공 또는 오류 코드를 포함한 상태 표시 줄로 응답 한 다음 서버 정보, 엔티티 메타 정보 및 가능한 엔티티 본문 내용을 포함하는 MIME 유사 메시지가 이어집니다.
HTTP – 단점
HTTP는 완전히 보안 된 프로토콜이 아닙니다.
HTTP는 통신을위한 기본 포트로 포트 80을 사용합니다.
HTTP는 애플리케이션 계층에서 작동합니다. 데이터 전송을 위해 여러 연결을 만들어야하므로 관리 오버 헤드가 증가합니다.
HTTP 사용에는 암호화 / 디지털 인증서가 필요하지 않습니다.
HTTP 프로토콜 세부 정보
HTTP 프로토콜을 자세히 이해하려면 아래 링크를 각각 클릭하십시오.
HTTP Parameters
HTTP Messages
HTTP Requests
HTTP Responses
HTTP Methods
HTTP Status Codes
HTTP Header Fields
HTTP Security