겉바속촉
[네트워크] 웹의 기본 본문
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.0과 1.1
대부분의 브라우저는 초기값으로 1.1을 사용 → 1.1은 1.0과 달리 요청이 강제적입니다. - Cookie, APISID, SAPISID, Host, User-Agent 이 요소들은 웹 해킹과 관련하여 눈여겨보아야 합니다:)
GET 방식 |
ㅁ http://www.hanb.co.kr/edu/view_detail.html?hi_id=363 ㅁ GET 방식을 사용하면 링크 주소만 알아도 연결된 페이지의 내용 확인 가능. |
POST 방식 |
ㅁ URL에 요청 데이터를 전달하지 않음. ㅁ 위 예의 ‘?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 눌러서 프록시가 사용자에게 전달
***구조 참고***
'IT 일기 (상반기) > 네트워크 및 시스템 보안' 카테고리의 다른 글
[보안] SSL 암호화 (0) | 2021.01.28 |
---|---|
[보안] Proxy 실습 (feat.burpsuite, metasploitable) (0) | 2021.01.28 |
[네트워크] 인터넷 기본 개념 (0) | 2021.01.27 |
[네트워크] 웹 서비스 기본 1 (0) | 2021.01.27 |
[보안] 네트워크 공격_액세스, Dos, IP스푸핑 공격 (0) | 2021.01.26 |