티스토리 뷰

728x90
반응형
  • 웹 : 서로 다른 환경에서 정보를 공유함에 있어 발생하는 문제 해결을 위해 만들어진 개념
    • 특징 : 텍스트, 그림, 소리 영상 등의 정보를 하이퍼텍스트로 연결해 제공 | 하이퍼텍스트를 해석해 우리가 보는 화면에 해당 내용 표시함
      • 웹페이지는  문서형태로 작성됨
    • 동작방식 : 서버와 클라이언트로 구분 | 클라이언트가 서버 접속 및 웹페이지를 요청하면 서버가 확인해 응답하는 구조로 동작
      • 서버 : 웹페이지, 웹 등을 저장하는 컴퓨터... 클라이언트가 서버에 접근하길 원할 때, 이를 확인해 웹페이지 사본 제공
      • 클라이언트 : 이용자가 인터넷을 이용할 때 사용하는 전자기기를 뜻하며, 브라우저를 통해 웹에 접근
      • 클라이언트 → 서버 : 요청(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까지 저장 가능
  • 쿠키 동작 방식
    1. 클라이언트가 서버에 웹페이지 요청
    2. 서버는 쿠키 생성
    3. 서버는 생성한 쿠키와 함께 응답을 클라이언트에 전송 및 클라이언트는 쿠키 저장
    4. 클라이언트는 넘겨받은 쿠키를 저장하고 있다가 다시 서버에 요청할때 쿠키를 함께 전송
  • 세션 : 일정 시간동안 같은 사용자로부터 들어오는 요청을 하나의 상태로 보고 상태를 유지시키는 기술... 사용자가 웹 브라우저를 통해 서버에 접속한 시점부터 연결을 종료하는 시점까지 유지하는 것을 말함 | 일정 시간동안 아무런 요청 없으면 세션 종료 | 세선의 경우, 서버에서 클라이언트의 정보를 저장해 관리
  • 세션 동작 방식
    1. 클라이언트가 웹 페이지를 서버에 요청
    2. 서버는 클라이언트가 세션ID를 보냈는지 여부 확인
    3. 클라이언트 정보가 없을 경우, 서버에 사용자 정보를 생성해 저장하고 클라이언트에 세션ID 전달
    4. 클라이언트의 서버에 세션ID와 함께 요청사항 전달
728x90
반응형
최근에 올라온 글
최근에 달린 댓글
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Total
Today
Yesterday
반응형