웹 기본 동작 방식에 대해 기본적으로 알아야 할 것
4계층 프로토콜 중에 TCP, UDP프로토콜이 있다.
클라이언트와 웹서버가 통신을 하기위해 세션이 있어야하며 쿠키도 필요하다.
TCP, UDP에 접근하기 위해 (네트워크)포트가 필요하다.
예전에는 일정 포트범위가 없었지만 현재는 2의16개(0~65,535)의 네트워크 포트가 존재한다.
0~1023 → well known port/priviileged port. 대부분의 자주 사용하는 포트
웹에는 2개의 프로토콜이 존재한다. (http→80, https→443)
웹에서는 특정응용프로그램이 사용하는 포트를 서비스 포트(service port)라고 말한다.
데이터를 가져오기 위해 요청하는 것: request
그림판으로 급하게 그려서 퀄리티가,,, 죄송합니다:)
<Header: 정의에 관련된 내용> ----------------------------------------------(start line) ↓ method: GET, POST, PUT, CONNECTION (서버에게 요청하는 것과 관련) request와 response에 따라 조금씩 다르다. |
CRLF(Clear Request Line Form) Header의 부분이 끝났다는 것을 알려주는 빈 줄 |
<Body: 실제 데이터교환을 통해 이뤄지는 실제 데이터 내용> |
<Header: 정의에 관련된 내용>
----------------------------------------------(start line) ↓
method: GET, POST, PUT, CONNECTION (서버에게 요청하는 것과 관련)
request와 response에 따라 조금씩 다르다.
GET방식: 내가 접속을 했으니 내가 요청한 페이지를 가져가겠다는 의미
POST방식: 내가 너에게 있는 페이지를 가져가도 되냐는 질문
이렇게 요청을 받았다면 서버는 응답(response)를 해야한다.
응답시에 HTTP State Code (http 상태코드)를 알아야한다.
→ 현재 상태가 어떤지를 서버가 클라이언트에게 요청한 상태를 알려주는 것이다. 즉 상태에 따라 클라이언트가 어떻게 처리해야하는지를 알려주는 것이다.
1XX: 상태 처리
2XX: 처리완료(대표적인 코드: 200)
3XX: redirect(내가 가야할 곳을 다른 쪽으로 다시 연결하는 것)와 관련되어있음
ex) park.com이라는 도메인이 있을 경우 점검 중일 때 사용자들이 접속을 시도하면 다른 도메인으로 우회시켜줄 때 redirect 즉 3XX대 코드가 나타난다.
4XX: 비정상적인 응답/처리가 완료되지 않은 경우(클라이언트쪽 문제를 나타낸다) (403, 404, 400)
5XX: 비정상적인 응답/처리가 완료되지 않은 경우(서버쪽 문제)
서버가 클라이언트에게 상태코드를 뿌려주는 이유는 정확한 상태를 알 수 있기 때문에 대응을 할 수 있게끔 만들어주기 위함이다. 100~300번대 코드의 경우는 특별한 경우가 아닌 경우에는 보통 클라이언트 쪽에 보여지지는 않고, packet을 직접 돌려봐야 뜨는 코드들이다.
unicode: 하나의 코드로 표준화를 시킨 것(32bt (2의32승 개)). 전세계가 써도 많이 남기 때문에 요즘은 이모지(emoji)로 많이 활용한다.
cookie: 세션ID(sessionID) 정보와 연결된 접속시간에 관련된 time 정보와 같은 대표적인 정보들을 담고 있는 것
쿠키는 사실 없어도 된다. 하지만 오늘날 동작방식에서 내가 자주가는 사이트라면 쿠키를 허용하지 않을 시 로그인 정보 및 각종 정보들이 다 삭제가 되는 것이다. 그래서 처음부터 모든 것을 새롭게 시작해야하기 때문에 사용자가 번거롭다. 즉 쿠키는 재사용시에 편의성을 위해서 웹브라우저 한 공간에 사용자에 대한 각종 정보를 임시적으로 저장해두는 것이다. (과자부스러기라고 생각하면 쉽다)
그리고 내가 관리자이기 때문에 쿠키정보를 가져올 때 항목들을 지정할 수도 있다. (e.q. 검색, 저장 데이터 등)
빈도, 횟수, 머무른 시간을 기준으로 검색 및 저장 데이터 등이 저장되거나 기록될 수 있다. 그래서 자주 가는 사이트 외에 가끔 들어가는 사이트 혹은 출처가 불분명한 사이트에서는 굳이 쿠키를 허용하지 않는 것이 좋을 수 있다.
'정보보안실무 > 웹' 카테고리의 다른 글
PHP function 함수와 php파일 삭제, 읽기, 쓰기 (0) | 2023.05.06 |
---|---|
PHP 조건문, 반복문, for문 (0) | 2023.05.06 |
PHP 연산자 구성과 데이터 입력 받는 방법 (0) | 2023.05.06 |
웹브라우저 자동화모듈 설치 (0) | 2023.04.16 |
웹 크롤링과 빅데이터 분석 (0) | 2023.04.16 |