관리 메뉴

IT창고

Network HTTP 본문

보안/Network

Network HTTP

방구석여포 2018. 4. 25. 00:09

HTTP에 대해 알아보겠습니다.

HTTP는 웹 상에서 웹서버 및 웹 브라우저 간에 메세지 전송을 우히나 응용 계층 프로토콜로 HTTP프로토콜 버전을 보면 http 1.0 , http1.1 , http2.0으로 나눠집니다. http1.0은 1997년까지 사용했으며 http1.1은 거의 15년간 현재까지도 사용중이며 http2.0 은 1.1과 같이 혼용해서 사용중입니다. 포트는 80번을 사용합니다.


테스트를 위하여 간단한 웹페이지를 만들어보겠습니다.

vi /var/www/html/index.html 파일안에 아래의 내용을 넣어줍니다.

<html>

  <body>

    <h1> Hello Web Server! </h1>

  </body>

</html>


http의 주설정파일인 /etc/httpd/conf/httpd.conf 파일에 가서 136번 , 276번 줄에 내용을 현재의 ip : 80으로 바꿔주고 주석된 부분은 주석을 풀어주고 수정해줍니다.


여기까지 끝났다면 service httpd start로 httpd데몬를 시작합니다.


윈도우 브라우저에서도 접속해볼수있지만 리눅스에서도 웹 서버에 접속할수있습니다. yum -y install elinks 패키지를 다운받아 리눅스에서도 접속이 가능합니다. ex) elinks 192.168.x.x

윈도우에서도 리눅스에서도 접속이 되는걸 확인할수있습니다.


Web 서버를 둔 리눅스에서 접속했던 클라이언트들의 정보를 확인해볼수있습니다. /var/log/httpd/access_log 여기에 HTTP header의 형식으로 로그파일이 있습니다.


 식별자에 대해 알아보겠습니다.

URI(Uniform Resource Identifier)는 통합 자원 식별자로 인터넷에 있는 자원을 나타내는 유일한 주소입니다.

URL(Uniform Resource Location)은 네트워크 상에서 자원이 어디있는지를 알려주기 위한 규약입니다.

URN(Uniform Resource Name)은 통합 자원 이름으로 urn:scheme을 사용하는 URI를 위한 이름입니다.


ex) http://gsk121.tistory.com/215  ,  http://10.10.10.10/index.html


주소에 대해 자세히 알아보겠습니다.

http://gsk121.tistory.com/215 가 있으면 이걸 구분해서 확인해볼수있습니다. http | :// | gsk121.tistory.com |  /  | 215

http 는 프로토콜 타입을 나타내고 ://는 구분자이며 gsk121.tistory.com은 서버의 위치이고 /는 자원을 위한 구분자이며 215는 자원에 대한 식별자를 나타냅니다.


위의 사진의 로그 기록을 보면 HTTP 헤더의 모습을 확인할수있습니다.

그에 해당하는 메소드중 중요한거 몇가지에 대해 알아보도록 하겠습니다.


1. GET : 클라이언트가 서버로부터 문서를 읽어 오기 원할 때 사용. 서버는 오류가 없는 경우 보통 응답메시지의 본문에 문서의 내용을 담아서 응답합니다.  

2. POST: 클라이언트가 서버에게 어떤 정보를 제공할 때 사용된다. 예를 들어, 서버에게 입력을 보낼 때 사용합니다. 

3. PUT : 클라이언트가 서버에 저장될 새 문서 혹은 교체 문서를 제공하기 위해 사용되고 문서는 요청의 본문에 포함되고 URL에 의해 지정된 위치에 저장될 것입니다. 

4. COPY : 파일을 다른 위치로 복사하기 위해 사용되고 원본파일의 위치는 요청 라인(URL)에서 주어지고 목적지의 위치는 항목 헤더에서 주어집니다. 

5. DELETE : 서버에서 문서를 제거하기 위해 사용됩니다. 

6. HEAD : 문서 자체가 아니라 문서에 대한 어떤 정보를 원할 때 사용, 이는 GET과 비슷하지만 서버로부터의 응답에 본문이 없는 점이 다릅니다.

7. OPTION : 클라이언트가 서버에게 사용 가능한 옵션을 질의하기 위해 사용합니다. 



'보안 > Network' 카테고리의 다른 글

Network 패킷분석(파일카빙)  (1) 2018.04.30
Network HTTP header  (0) 2018.04.26
Network FTP 패스워드 크랙  (0) 2018.04.23
Network FTP Server 통신  (0) 2018.04.22
Network DNS spoofing  (0) 2018.04.18
Comments