*틀린 내용이 있을 경우 댓글로 알려주신다면 감사하겠습니다!
인터넷
1969년 10월 29일, 미국 국방부 산하 고등연구국 ARPA 연구용 네트워크인 ARPANET을 통해 UCLA의 레너드 클라인록 교수가 UCLA 컴퓨터에서 스탠퍼드대학교 SRI 연구소 컴퓨터로 메시지 전송에 성공했습니다. 최초의 2노드 간 상호 연결이었고, ARPANET을 현재 사용하는 인터넷망의 시초로 봤습니다. 추후에 ARPANET이 일반에 공개되고 TCP/IP프로토콜로 연결되면서 인터넷이 본격적으로 발전하기 시작했습니다.
참고) TCP/IP 프로토콜
: 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데에 쓰이는 프로토콜. 패킷 통신 방식의 인터넷 프로토콜 IP와 전송 조절 프로토콜 TCP로 이루어짐.
웹?
‘월드와이드웹’을 줄여 흔히 알고 있는 단어, ‘웹’은 인터넷에 연결된 컴퓨터들이 하이퍼텍스트 형식으로 표현된 다양한 정보를 효과적으로 이용할 수 있게 구성한 전 세계적인 시스템을 의미합니다. 1989년 3월 13일 팀 버너스 리가 최초로 인터넷 기반 하이퍼텍스트 프로젝트를 제안했습니다. 이후 하이퍼텍스트 브라우저, 편집기, URL, HTTP, HTML이 차례대로 등장했습니다. 1991년 8월 팀 버너스 리는 월드와이드웹의 개념을 포함한 사이트를 일반인에게 최초로 공개되었고 계속해서 발전해 지금의 웹이 만들어졌습니다.
인터넷 거버넌스
인터넷은 계속해서 발전하고 있으나 발전이 항상 이로운 점만 가져다주는 것은 아닙니다. 나날이 늘어가는 사이버 범죄와 인터넷상에서의 보안 사고 등으로 ‘인터넷 거버넌스’의 필요성에 대해 논의되고 있습니다.
‘인터넷 거버넌스’란 각국 정부, 민간분야, 시민 사회가 인터넷 진화와 사용방법을 결정하는 공통의 원칙, 규칙, 기준, 의사결정 절차 등을 각자 역할에 맞춰 발전, 응용시키는 활동을 의미합니다. 인터넷의 발전을 위한 기관으로 아래와 같이 있습니다.
1. 국제인터넷주소관리기구(Internet Corporation for Assigned Names and Numbers, ICANN)
: 인터넷 도메인 관리와 정책을 결정하는 국제기구
2. 인터넷소사이어티(Internet Society, ISOC)
: 인터넷 이용과 기술에 관하여 국제적인 협조와 협력을 촉진하기 위해 설립된 비영리 국제기구
3. 월드와이드웹 컨소시엄(World Wide Web Consortium, W3C)
: 월드와이드웹, 웹 브라우저, 웹 서버 기술의 표준화를 추진하기 위해 교육, 연구 기관 및 관련 회사들이 모여서 만든 단체
4. 국제전기통신연합(International Telecommunication Union, ITU)
: 인터넷에 영향을 미칠 수 있는 관세 문제를 다루고 정보통신 네트워크에 대한 기술적인 표준과 운영 표준을 발행
프로토콜
컴퓨터 간에 정보를 원활하게 교환하기 위하여 정한 여러 통신 규칙, 방법에 대한 약속 혹은 규약을 말합니다. 인터넷에서 사용되는 프로토콜은 두 컴퓨터 간의 서로 다른 방식을 연결하여 통신할 수 있도록 정한 공통의 규약입니다. 다양한 프로토콜 중 TCP/IP 프로토콜이 가장 많이 사용되고 있습니다. 아래는 프로토콜에 들어가는 세 가지 요소입니다.
1. 구문: 데이터 형식, 신호로 부호화 방법 정의
2. 의미: 정확한 정보 전송을 위한 전송 제어와 오류 제어 방법을 정의
3. 순서: 송신자와 수신자 간 혹은 양단의 통신 시스템, 망 사이 통신 속도 및 순서 정의
프로토콜에 대한 상세 내용은 국제인터넷표준화기구에서 만드는 RFC 문서를 통해 알 수 있습니다. https://www.ietf.org/rfc

HTTP
팀 버너스 리가 웹을 만들며 개발한 프로토콜로 인터넷에서 가장 많이 사용되고 있습니다. HTTP*는 웹 상에서 웹 서버 및 웹 브라우저 상호 간의 데이터 전송을 위한 응용계층 프로토콜입니다. 초창기에는 하이퍼텍스트 형태의 문서를 전달하는 데에 주로 사용되었으나 지금에 와서는 이미지, 비디오, 음성 등의 거의 모든 형식의 데이터 전송이 가능해졌습니다. 버전에 상관없이 HTTP의 기본적인 작동 과정은 다음과 같습니다.
1. 클라이언트가 웹 브라우저를 이용해 서버에 연결을 요청
2. 서버는 클라이언트의 요청에 대한 서비스를 준비
3. 클라이언트가 읽고자 하는 문서를 서버에 요청
4. 서버는 해당 문서를 전달하고 연결 종료
참고) HTTP vs HTTPS
HTTP 프로토콜은 암호화되지 않은 단순한 TCP를 사용해서 네트워크 상의 공격자가 정보를 가로챌 수 있는 위험성이 있습니다. 반면에 HTTPS는 애플리케이션 계층 프로토콜로 SSL을 이용해 클라이언트와 서버 사이 주고받는 정보를 보호합니다. 하지만 사용자 입력값에 대한 검증은 하지 못합니다.
참고자료) *HTTP
정보통신기술용어해설 에서 참고
Request
웹 서버에 데이터를 요청하는 패킷입니다. GET, POST, HEAD 등의 메서드가 있는데 이중 GET 메서드를 일반적으로 많이 사용됩니다. Request 패킷에 HTTP 전송 방법과 해당 HTTP 버전, 필요한 자료 요청할 때 사용될 URL이 들어갑니다. 다음은 Request 패킷에 사용되는 방식입니다.
GET : URL에 데이터를 추가해 웹 브라우저로 전송. 링크 주소만 알아도 연결된 페이지 내용 확인 가능. 페이지 상의 글을 볼 때 접근 자유도를 주기 위해 사용되는 방식
POST : URL이 아닌 HTTP body 영역에 요청 데이터를 넣어 전송. GET 방식보다 보안상에서 안전. 글을 저장, 수정, 삭제를 할 경우에 사용되는 방식.
HEAD: 서버 쪽 데이터를 검색하고 요청할 때 사용
OPTIONS : 자원에 대한 요구-응답 관계에서 관련된 선택 사항에 대한 정보를 요청할 때 사용
PUT : 메시지에 포함된 데이터를 지정한 URI 장소에 지정된 이름으로 저장.
DELETE : URI에 지정된 자원을 서버에서 삭제하게 함.
TRACE : 클라이언트가 요구한 메시지가 거쳐 가는 중간 경로(프록시, 게이트웨이 등), 최종 수신 서버에 이르는 경로를 알아낼 때 사용
Response
Request의 응답 패킷으로 서버에서 쓰고 있는 프로토콜 버전, HTTP 상태 코드, 전달할 데이터 형식, 데이터 길이 등이 들어가 잇습니다. 실제 데이터는 HTML 혹은 그림 파일이 전달됩니다. 상태 코드는 다음과 같이 나뉘어집니다.
| 상태 코드 | 의미 | 설명 | 예시 |
| 100번대 | 정보 전송 | 요청을 받았고 과정을 이어서 진행. | 101 Switching Protocols |
| 200번대 | 성공 | 클라이언트 요구 성공적으로 처리됨. | 200 OK |
| 300번대 | 리다이렉션 | 클라이언트 요구 사항 처리 시 다른 곳의 자원이 필요. | 303 See Other |
| 400번대 | 클라이언트 측 에러 | 클라이언트 측에 오류 발생 예) 클라이언트가 서버에 보내는 요구 메시지 완전히 처리 못한 경우 |
404 Not Found |
| 500번대 | 서버 측 에러 | 1. 서버 자체의 오류 2. 클라이언트 요구 사항 제대로 처리할 수 없을 경우 |
500 Internal Server Error |
'웹 해킹' 카테고리의 다른 글
| Ch03 인증 기술과 접근 통제(실습) (0) | 2023.01.18 |
|---|---|
| Ch 03 인증 기술과 접근 통제 (0) | 2023.01.18 |
| Ch 02 웹 해킹의 기초(실습) (0) | 2023.01.11 |
| Ch 02 웹 해킹의 기초 (0) | 2023.01.11 |
| Ch 01 인터넷과 웹의 이해(실습) (1) | 2023.01.04 |