1. WWW
- World Wide Web의 약자로 세계규모의 거미집 또는 거미줄 이라는 뜻으로 , 인터넷상의 분산되어 있는 정보들이 연결되어 제공되는 인터넷 서비를 의미한다.
- 줄여서 웹(Web) 이라고 칭한다.
- WWW는 URL , HTTP , HTML의 구성요소로 이루어져 있다.
2. URL
- Uniform Resource Locator 의 약어로 네트워크 상의 자원의 위치를 나타낸다.
- Client , Web Server , Web Application , DataBase로 구성되어 있다.
ex) http://sports.news.naver.com/sports/index.nhn?category=worldfootball
1 2 3 4
1) Client : 사용중인 프로토콜의 정보이다. 웹 서버 이용 시 HTTP를 사용한다.
2) Server : 현재 접속중인 웹 서버의 주소를 나타낸다.
3) Application : 여러가지 소스 파일로 구성.
위 예시는 네이버의 어플리케이션의 정보를 확인한 결과다
네이버 측에서는 보안상의 이유로 nhn로 수정하여 웹 서버에 저장
4) DataBase : 파라미터를 통해 웹 어플리케이션으로 전달되고 , 이를 통해 데이터베이스에서 작업을 할 수 있도록 한다.
3. HTML
- 웹 문서를 만들기 위해 사용하는 기본적인 프로그래밍 언어다.
- 제목 , 단란 , 목록 등과 같은 본문을 위한 구조적 의미를 나타내는 것뿐만 아니라 , 링크 , 인용과 그 밖의 항목으로 구조적 문서를 만들 수 있도록 제공한다.
HTML의 구성요소
- 요소(Elements)
- 태그에 포함된 가장 중요한 부분을 말하는 것으로 , 태그의 의미를 결정한다.
- 태그(Tags)
- '<' 와 '>' 를 사용하여 화면에 나타낼 내용을 구분해준다.
- 시작 태그와 종료 태그를 사용해서 해당 요소를 적용할 범위를 정한다.
ex) <요소> 내용 </요소>
- 속성(Attributes)
- 시작 태그 내에서 사용하는 것으로 명령을 구체화 한다.
ex) <font>~~</font>를 사용할때 , font 요소는 size,color등의 속성을 가진다.
- 속성값(Argumetns)
- 속성과 관련된 값을 지정한다.
ex) <font color="red">를 사용할때 , "red"라는 속성값을 가진다.
DOM ( Document Object Model)이란 ?
-객체 지향 모델로써 구조화된 문서를 표현하는 형식이다.
HTML문서의 요소들에 접근 가능하도록 되어있으며 , DOM을 사용하면 데이터를 동적으로 화면에 접근하고 변경할 수 있어
접근성과 조작성을 부여할 수 있다.
SSS & CSS
- SSS는 Server Side Script의 약어로 서버 측 스크립트 언어를 의미한다. ( ex , PHP , JSP , ASP )
- CSS는 Client Side Script의 약어로 사용자 측 스크립트 언어를 의미한다. ( ex , Java Script , VB Script )
- HTML은 로직을 이용한 작업은 불가능 하다. ( ex , 마우스 클릭 , 입력 , 조건문 ..etc )
그래서 동적인 웹 서비스를 위해 스크립트 언어를 이용한다.
HTTP
HTTP란 ? WWW에서 정보를 주고 받을 때 사용되는 프로토콜이며 80번 포트를 사용한다.
사용자와 서버 사이에 이루어지는 요청/응답(Request/Response) 프로토콜이다.
HTTP특징
- TCP기반의 통신방식 (3-way handshake )
- 비연결 지향 ( UDP는 연결지향 )
- 단방향성
- 평문전송
HTTP Request
- 사용자가 서버에게 요청하는 것이다.
여기서 서버란 서비스를 제공하는 입장이고 , 사용자(Client)는 이 서비스를 제공받는 것을 의미한다.
- 메소드 : 사용자가 서버에 요청하는 메소드와 HTTP의 버전 확인 가능
- 요청헤더 : 서버에 전달하는 사용자의 정보를 나타내는 부분이다.
- 공백부분 : HTTP의 요청 헤더 부분과 본문 부분을 구분하기 위한 공백
- 본문 : 메시지의 내용을 담고 있는 부분이다. GET메소드인 경우 요청정보가 URL에 포함되어 전송되어서 메시지 본문을 사용하지 않으므로 비어 있게 된다.
|
GET |
POST |
전송방식 |
데이터를 URL에 포함하여 전송 |
메세지 본문에 데이터를 첨부하여 전송 |
데이터양 |
4096byte ( 255자 ) |
제한 없음 |
데이터 타입 |
ASCII |
제한 없음 |
속도 |
빠르다 |
느리다 |
보안성 |
데이터 정보가 URL에 포함되므로 보안취약 |
데이터 정보가 HTTP본문에 인코딩 되어 전송되므로 GET방식보다는 안전 |
결론 : GET은 서버에서 데이터를 불러오는것 , POST는 서버의 데이터를 수정하는 것
HTTP Response
- 상태코드 : 사용자의 요청에 대한 서버의 처리결과를 나타낸다.
- 응답헤더 : 사용자에게 전달한 데이터의 정보를 나타내는 부분이다.
- 공백부분 : HTTP의 요청 헤더 부분과 본문 부분을 구분하기 위한 공백
- 본문 : 사용자에게 전달한 데이터의 내용을 담고 있는 부분이다.
HTTP Response 상태코드
100~199 : 사용자의 요청이 현재 처리되고 있음.
200~299 : 서버가 사용자의 요청에 대해 성공적으로 처리했음을 의미.
300~399 : 사용자가 요청을 마치기 위해 추가 동작을 해야 함.
400~499 : 사용자측의 에러가 발생.
500~599 : 서버 측 에러가 발생.
중요 코드
HTTP 200 : 서버가 사용자의 요청에 정상적으로 처리했음을 의미.
HTTP 400 : 사용자의 요청에 서버가 제대로 인식하지 못했을 경우를 의미.
HTTP 401 : 사용자가 서버의 자원을 요청할 권한이 없음을 의미.
HTTP 403 : 서버가 사용자의 요청을 거부하고 있음을 의미.
HTTP 404 : 사용자가 서버에 존재하지 않는 페이지에 대해 요청할 경우를 의미.
HTTP 500 : 서버에 오류가 발생하여 요청을 수행할 수 없음을 의미.
'Hacking & Security > Web' 카테고리의 다른 글
웹 취약점 진단제거 가이드 (0) | 2019.03.03 |
---|---|
SQL Injection (0) | 2017.11.27 |
웹 취약점 분류 (0) | 2017.11.27 |
HTTP Request ~ HTTP Response (0) | 2017.11.27 |
웹 기초 지식 2 (0) | 2017.11.24 |