겉바속촉

[네트워크] 웹의 기본 본문

IT 일기 (상반기)/네트워크 및 시스템 보안

[네트워크] 웹의 기본

겉바속촉 2021. 1. 28. 01:01
728x90
반응형

 

 

 

 

 

HTTP

 

 

 

개념

 

  • 인터넷에서는 FTP, Telnet, HTTP, SMTP, POP 등 여러 종류의 프로토콜이 사용됨
  • 웹에서 가장 많이 사용하는 프로토콜인 HTTP(Hypertext Transfer Protocol)는 문서들 간의 상호 연결을 통해
    다양한 텍스트, 그래픽, 애니메이션을 화면에 보여주고, 사운드를 재생할 수 있게 해줌

 

 

 

 

HTTP에 관한 RFC 문서

 

  • HTTP 1.0 : RFC ftp://ftp.ietf.org/rfc/rfc1945.txt 

                  메소드는 GET, HEAD, POST 방식 지원

                  문서에 몇 개의 그림이 있든 상관없이 HTML 문서를 먼저 전송받은
                  연결을 끊고 나서 다시 연결하여 그림을 전송 받음



  • HTTP 1.1 : RFC ftp://ftp.ietf.org/rfc/rfc2616.txt

                메소드는 OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT 방식 지원

                연결 요청이 계속 들어오면 HTML 문서를 받고 난 후
                연결을 끊고 나서 다시 연결 요청을 하는 게 아니라 바로 그림 파일을 요청

 

 

 

<Request 패킷>

 

 

 

첫 번째 줄 : GET / HTTP/1.1

 

GET 뒤의 슬래시 --> 디폴트페이지

 

그래서 보통 index.html을 불러옴

 

 

 

 

 

  • HTTP 전송 방법 : 웹 서버로부터 자료를 가져오는 기능을 하는 GET을 많이 사용.
    GET
    메소드는 별도의 메시지 바디를 필요로 하지 않음
  • 요청된 URL : 웹 서버에 있는 자료를 요청할 때 사용되는 경로
  • HTTP 버전 : 인터넷에서 가장 일반적으로 사용되는 HTTP 버전은 1.01.1
    대부분의 브라우저는 초기값으로 1.1을 사용 → 1.11.0과 달리 요청이 강제적입니다.
  • Cookie, APISID, SAPISID, Host, User-Agent 이 요소들은 웹 해킹과 관련하여 눈여겨보아야 합니다:)

 

GET 방식

http://www.hanb.co.kr/edu/view_detail.html?hi_id=363

ㅁ 요청 데이터에 대한 인수를
URL(Uniform Resource Locator) 을 통해 웹 브라우저에 전송.

ㅁ GET 방식을 사용하면 링크 주소만 알아도 연결된 페이지의 내용 확인 가능.

ㅁ 주소창에 들어가기 때문에 최대 입력자 수 제한 존재. (255자까지)

POST 방식

URL에 요청 데이터를 전달하지 않음.
ㅁ HTTP의 헤더 영역이 아닌 바디 영역에 소켓을 이용하여 데이터 전송.

위 예의 ‘?hi_id=363’과 같은 부분이 URL에 나타나지 않고 POST Body에 포함됨.

인수 값을 URL을 통하여 전송하지 않기 때문에 다른 사람이 링크를 통해 해당 페이지를 볼 수 없음.

보내려는 인자값이 URL을 통해 노출되지 않기 때문에 보안 측면에서 GET 방식보다 안전.

ㅁ 용량이 큰것을 보낼때 사용 ( 이미지를 첨부하는 등등... )

 

 

 

 

 

<Response 패킷>

 

  • 클라이언트가 보낸 Request의 응답 패킷으로, 형식이 간단.
  • Response 패킷에 담겨 있는 주요 내용 서버에서 쓰이는 프로토콜 버전, HTTP 상태 코드(200 OK) 등등.
  • 전달해 줄 데이터의 형식, 데이터 길이 등과 같은 추가 정보도 포함.
  • 헤더 정보 뒤에 빈 줄이 하나 들어가고, 그 다음에 실제 데이터가 전달됨.
  • 실제 데이터는 HTML이나 그림 파일이며, 데이터 전달이 종료되면 서버는 연결을 끊음.

 

                            1                        2

                    ---------------->      -------------->

사용자 클라이언트           버프 프록시           웹 브라우저 서버

                   <----------------       <---------------

                             4                          3

 

 

1 번 : 클라이언트가 요청하면 프록시가 받음

2 번 : forward 눌러서 웹 브라우저로 요청 보냄

3 번 : forward 눌러서 웹 브라우저가 응답하면 프록시가 받음

4 번 : forward 눌러서 프록시가 사용자에게 전달

 

 

***구조 참고***

 

 

 

 

 

728x90
반응형