티스토리 뷰
-/케이쉴드 주니어 스타트업
[웹기초] 01. WEB의 이해 | 02. HTML의 이해 | 03. 도메인의 이해 | 04. 프로토콜의 이해 | 05. 쿠키와 세션
염두리안 2024. 10. 30. 23:56728x90
반응형
- 웹 : 서로 다른 환경에서 정보를 공유함에 있어 발생하는 문제 해결을 위해 만들어진 개념
- 특징 : 텍스트, 그림, 소리 영상 등의 정보를 하이퍼텍스트로 연결해 제공 | 하이퍼텍스트를 해석해 우리가 보는 화면에 해당 내용 표시함
- 웹페이지는 문서형태로 작성됨
- 동작방식 : 서버와 클라이언트로 구분 | 클라이언트가 서버 접속 및 웹페이지를 요청하면 서버가 확인해 응답하는 구조로 동작
- 서버 : 웹페이지, 웹 등을 저장하는 컴퓨터... 클라이언트가 서버에 접근하길 원할 때, 이를 확인해 웹페이지 사본 제공
- 클라이언트 : 이용자가 인터넷을 이용할 때 사용하는 전자기기를 뜻하며, 브라우저를 통해 웹에 접근
- 클라이언트 → 서버 : 요청(Request) | 서버 → 클라이언트 : 응답(Response)
- 정적/동적 웹페이지
- 정적 웹페이지 : 웹 서버에 저장된 파일그대로 사용자에게 전달되는 웹페이지
- 동적 웹페이지 : 사용자 설정, 정보에 따라 동적으로 만들어진 파일 형태로 사용자에게 전달되는 웹페이지
- 웹 통신 과정 : 웹 페이지 접속(클릭 또는 주소 입력) → 브라우저에서 인터넷 연결 수행 → 도메인 네임 시스템에 주소 해석 요청 → 도메인 네임 시스템에서 매칭된 IP주소 획득 → 서버의 IP주소로 클라이언트 요청 전달 → 서버는 클라이언트 요청 확인 후 응답결과 작성 및 전송 → 서버의 응답결과를 클라이언트에 전달 → 브라우저는 서버 응답 결과 해석해 화면에 출력
- 특징 : 텍스트, 그림, 소리 영상 등의 정보를 하이퍼텍스트로 연결해 제공 | 하이퍼텍스트를 해석해 우리가 보는 화면에 해당 내용 표시함
02. HTML의 이해
- HTML(Hyper Txt Markup Language) : 웹 페이지가 어떻게 구성되어 있는지 브라우저가 이해할 수 있도록 하는 마크업 언어
- 5가지 태그로 이루어짐
<!DOCTYPE html> // HTML 문서 선언
<html> // 문서 시작과 끝 알림
<head>
// css, JS, meta태그, title 태그 등 문서 정보 설정하는 부분
</head>
<body>
// html문서의 본 내용으로 실제 화면에 출력되는 콘텐츠 부분
</body>
</html>
- CSS(Cascading Style Sheets) : HTML 문서의 레이아웃, 디자인을 포함한 시각적 요소를 정의하기 위한 규격
- 인라인(html태그에 스타일 요소 이용), 이터널(head태그에 스타일 요소 이용), 익스터널(별개로 css파일에 작성)로 구분
- JS : 객체 기반 스크립트 언어... 정적인 html의 콘텐츠를 동적으로 변경해주는 등 웹 동작, 기능을 구현시 이용
03. 도메인의 이해
- 도메인 : 네트워크에 연결된 컴퓨터를 기억하기 쉽도록 문자로 만든 ㅈ소
- 도메인 네임 시스템(DNS) : 문자로 만든 주소와 IP주소를 매칭시켜 놓은 정보를 저장하고 알려주는 시스템
- 도메인 체계 : 최상위 단위부터 트리형태로 구성되어 도메인 정보를 관리
- URL(Uniform Resource Locator) : 인터넷에서 웹페이지, 이미지, 비디오 등 게시된 자원의 위치를 나타내는 문자열
- URI(Uniform Resource Identifier) : 인터넷에서 웹페이지, 이미지, 비디오 등 게시된 자원 등을 식별하는 문자열
04. 프로토콜의 이해
- HTTP(Hyper Txt Transfer Protocol) : 웹 상에서 이미지, 비디오, 음성 등 거의 모든 형식의 정보를 주고 받을 수 있는 프로토콜 | 일반적으로 80번 포트 사용
- HTTP 요청과 응답 : 통신 시 클라이언트는 서버로 요청 메시지를 보내고 서버는 응답 메시지를 보냄... 클라이언트는 서버로 HTTP 요청 메서드를 이용해 데이터 조회, 전송, 저장, 삭제 등의 동작을 요청할 수 있음
- 요청 내용 및 헤더 끝을 <CR>, <LF>을 통해 알려줌
- HTTP 상태코드 : 클라이언트와 서버가 HTTP 프로토콜을 통해 통신할 당시의 상태에 대한 정보를 나타낸 코드
1XX (조건부 응답) |
요청 받았고 작업 계속함 - 100(계속) : 서버는 첫 요청을 받고, 이후 나머지 요청 기다리고 있음 - 101(프로토콜 전환) : 클라이언트가 서버에 프로토콜 전환을 요청했고, 서버는 이를 승인하는 중 |
2XX (성공) |
요청 이해했고 승인해 성공적으로 처리함 - 200(성공) - 201(작성됨) : 성공적으로 요청, 서버가 새 리소스 작성함 - 202(허용됨) : 서버가 요청 접수했으나, 아직 처리하지 않음 - 203(신뢰할 수 없는 정보) : 서버가 요청을 성공적으로 처리했지만 다른 곳에서 수신된 정보를 제공함 - 204(콘텐츠 없음) : 서버가 요청을 성공적으로 처리했지만, 콘텐츠 제공하지 않음 - 205(콘텐츠 재설정) : 서버가 요청을 성공적으로 처리했지만, 콘텐츠를 표시하지 않음 - 206(일부 콘텐츠) : 서버가 GET요청 일부만 성공적으로 처리 |
3XX (리다이렉션 완료) |
요청 마치기 위해서 클라이언트는 추가 동작을 수행해야 함 - 300(여러 선택 항목) : 서버가 요청에 따라 여러 조치를 응답할 수 있으나 현재는 사용 X - 301(영구이동) : 영구적으로 콘텐츠 이동 - 302(임시이동) : 일시적으로 콘텐츠 이동 - 303(기타 위치 보기) : 서버가 사용자의 GET요청을 처리해 다른 위치로 전달 - 304(수정되지 않음) : 마지먹 요청 이후로 요청한 페이지가 수정되지 않음 |
4XX (요청 오류) |
클라이언트가 잘못된 요청을 했거나 오류가 있음 - 400(잘못된 요청) : 클라이언트 요청이 잘못됨 - 401(권한없음) : 로그인 등 필요 권한 X - 403(거부됨) : 서버에서 클라이언트 요청 거부 - 404(찾을 수 없음) : 클라이언트가 요청한 페이지를 찾을 수 없음 - 405(허용되지 않은 메소드) : 클라이언트가 요청한 방법은 서버에서 허용하지 않음 - 408(요청 시간 초과) : 서버 요청 대기 시간이 초과함 |
5XX (서버 오류) |
서버가 클라이언트의 요청을 수행하지 못함 - 500(내부 서버 오류) : 서버에 오류 발생해 작업 수행 불가 - 502(게이트웨이 불량) : 게이트웨이가 연결된 서버로부터 잘못된 응답을 받아 오류 발생 - 503(일시적으로 서비스를 이용할 수 없음) : 서비스를 일시적으로 수행 불가 - 504(게이트웨이 시간초과) : 게이트웨이가 연결된 서버로부터 응답이 없음 |
- HTTP 특징
- 비연결 지향적인 특성을 통해 클라이언트와 연결관리에 대한 비용을 줄임
- 비연결성은 매 요청마다 통신을 위한 연결작업을 수행해 불필요한 자원을 소모하기도 함
- 비연결성의 한계 극복을 위해 HTTP 지속 연결을 수행함
- 상태 정보를 유지하지 않는 특성이 있어 클라이언트는 요청사항을 한 번에 전달해야 함
- 상태정보를 유지하는 경우, 대화하는 식으로 처리되며 해당 서버에서 처리하거나 요청 정보를 서버간 공유해야 함
- HTTPS : HTTP + Secure(TLS/SSL)
- HTTP에서 보안을 강화한 버전... HTTP통신의 인증, 암호화를 위해 개발된 프로토콜 | 종단간 암호화 방식 ~> 안전한 통신을 수행할 수 있도록 지원 | 일반적으로 443번 포트 사용
- TLS(Transport Layer Security)/SSL(Secure socket Layer) : 클라이언트-서버간 전송되는 데이터를 암호화하여 연결하기 위한 기술... 전송되는 데이터를 보거나 훔치는 것을 방지함 | 디지털 인증서, 암호화 통신 수립시 사용 | 브라우저 주소창에 자물쇠 모양이 있는 경우, HTTPS 프로토콜 이용
05. 쿠키와 세션
- 쿠키 : 웹 사이트 이용시 해당 서버에서 사용자의 컴퓨터(클라이언트)에 저장하는 기록 정보 파일
- 이름, 값, 만료일(저장기간), 경로정보로 구성 : 클라이언트에 총 300개 쿠키 저장 가능 | 하나의 도메인당 20개 쿠키 가질 수 있음 | 하나의 쿠키는 4KB까지 저장 가능
- 쿠키 동작 방식
- 클라이언트가 서버에 웹페이지 요청
- 서버는 쿠키 생성
- 서버는 생성한 쿠키와 함께 응답을 클라이언트에 전송 및 클라이언트는 쿠키 저장
- 클라이언트는 넘겨받은 쿠키를 저장하고 있다가 다시 서버에 요청할때 쿠키를 함께 전송
- 세션 : 일정 시간동안 같은 사용자로부터 들어오는 요청을 하나의 상태로 보고 상태를 유지시키는 기술... 사용자가 웹 브라우저를 통해 서버에 접속한 시점부터 연결을 종료하는 시점까지 유지하는 것을 말함 | 일정 시간동안 아무런 요청 없으면 세션 종료 | 세선의 경우, 서버에서 클라이언트의 정보를 저장해 관리
- 세션 동작 방식
- 클라이언트가 웹 페이지를 서버에 요청
- 서버는 클라이언트가 세션ID를 보냈는지 여부 확인
- 클라이언트 정보가 없을 경우, 서버에 사용자 정보를 생성해 저장하고 클라이언트에 세션ID 전달
- 클라이언트의 서버에 세션ID와 함께 요청사항 전달
728x90
반응형
'- > 케이쉴드 주니어 스타트업' 카테고리의 다른 글
[윈도우즈기초] 01. 윈도우즈 운영체제 | 02. 윈도우즈 관리 (0) | 2024.11.01 |
---|---|
[운영체제기초] 01. 운영체제 기초 | 02. 운영체제 종류 (0) | 2024.11.01 |
[네트워크기초] 02. DMZ | 03. NAT | 04. VPN (0) | 2024.10.30 |
[네트워크기초] 01. 네트워크 기초 (2) | 2024.10.30 |
정보보안개론 (0) | 2024.10.29 |