1. 웹 프로그램의 작동 원리
(1)웹이라는 단어의 의미
네트워크 : [컴퓨터] 컴퓨터 네트워크, 네트워크
웹: [컴퓨터] 월드와이드웹, 인터넷
웹 프로그램은 이름에서 알 수 있듯이 웹에서 작동하는 프로그램입니다.
(2) 독립형 프로그램의 작동 원리
독립형 컴퓨터, 즉 다른 컴퓨터와 연결되지 않고 네트워크에 연결되어 있지 않은 컴퓨터입니다. 예를 들어, 두 대의 단일 컴퓨터 A와 B가 있습니다. A에는 프로그램 X만 설치되어 있습니다. B에서 X의 실행 결과를 얻으려면 B에서 X를 설치한 다음 실행해야 합니다. B등급 컴퓨터가 많으면 하나씩 설치하고 실행해야 합니다. 그들은 서로 직접 소통하고 협력할 수 없습니다. 그림 1과 같습니다.
(3) 클라이언트/서버 프로그램의 작동원리
A가 B에게 서비스를 제공하는 것처럼 A와 B를 네트워크로 연결하는 등 독립 실행형 컴퓨터를 네트워크에 연결하면 A가 B에게 서비스를 제공할 수 있습니다. 일반적인 서비스로는 파일 공유, FTP 파일 다운로드 등이 있습니다. 서비스를 제공(응답)하는 컴퓨터를 서버(Server)라고 하고, 서비스를 수락(요청)하는 컴퓨터를 클라이언트(Client), 워크스테이션(Workstation)이라고도 합니다. 클라이언트/서버 프로그램의 작동 원리는 그림 2에 나와 있습니다.
서버와 클라이언트의 역할은 전환될 수 있습니다. 이때 컴퓨터는 자신에게 서비스를 제공할 수 있으며 서버이자 클라이언트이기도 합니다. 예를 들어 컴퓨터 A가 자신의 폴더 a를 공유하고 있다가 네트워크에서 A를 찾으면 a를 다운로드할 수 있습니다. 이는 자신에게 서비스를 제공하고 서비스를 요청하고 응답했다는 의미입니다.
이런 컴퓨터 간 클라이언트/서버 협업 방식을 C/S 방식, 즉 C/S 아키텍처라고 합니다.
C/S 프로그램은 서버측 프로그램(또는 서비스 프로그램)과 클라이언트 프로그램(또는 클라이언트 프로그램)이라고 불리는 서버측과 클라이언트측 두 부분으로 나누어집니다. 클라이언트 프로그램의 경우 각 클라이언트를 별도로 설치해야 하는데 이는 독립형 프로그램 배포와 동일하며 매우 번거롭습니다. 그러나 클라이언트 프로그램이 설치된 후에는 통신 회선을 통해 서버와 상호 작용하거나, 서버를 통해 다른 클라이언트와 통신할 수 있습니다. 대표적인 예가 그림 3과 같이 일반적으로 사용되는 채팅 프로그램 QQ입니다.
(4) 브라우저/서버 프로그램의 작동원리
클라이언트에서 브라우저를 통해 서버에 요청을 보내고 응답 결과를 받으면 이때 이 협업 방식을 B/S 방식 또는 B/S 아키텍처라고 부릅니다. 그림 4에 표시됨:
이때, 클라이언트 프로그램은 브라우저이며, 운영체제 설치와 함께 브라우저 설치가 완료되며, 사용자의 추가 설치는 필요하지 않습니다. 이들의 경우 B/S 프로그램(온라인 뉴스 읽기, 이메일 보내기 및 받기 등)을 사용할 때 특별한 클라이언트 프로그램을 설치할 필요 없이 브라우저에서 직접 작동할 수 있습니다. 클라이언트 프로그램은 걱정하지 않고 서버 프로그램만 유지하면 되기 때문에 B/S 프로그램 유지 관리가 매우 편리합니다.
(5)C/S 및 B/S 서버 구성
서버는 서비스 업무를 담당하는 기계입니다. 이러한 서비스 작업은 일반적으로 전문 소프트웨어에 의해 완료됩니다. 일반적으로 특정 서비스 기능을 갖춘 서버 소프트웨어와 이 소프트웨어가 위치한 기계를 총칭하여 XX 서버라고 합니다(XX는 특정 서비스를 나타냄). 이러한 소프트웨어는 하나의 시스템에 집중될 수 있으며(그림 5), 이러한 시스템은 중앙 집중식 서버라고 부를 수도 있고, 특정 시스템에 단독으로 존재할 수도 있습니다(그림 6). 이러한 시스템은 독립 실행형 서버라고 부를 수도 있습니다. 독립형 서버는 서버 팜이나 매트릭스를 형성할 수 있습니다.
서비스 작업에 따라 몇 가지 일반적인 서버 소프트웨어가 표 1에 나와 있습니다.
서버측 스크립트: 서버측 프로그래밍 언어로 작성된 프로그램입니다.
서버측 프로그래밍 언어: PHP 언어와 같이 서버측에서만 실행되고 서버에서 해석되고 실행되는 프로그래밍 언어입니다.
(6)B/S 프로그램 작업의 구체적인 과정(그림 7 참조)
(7) PHP 프로그램 작업의 구체적인 과정
구체적인 프로세스는 Apache, PHP 및 브라우저 간의 협업 프로세스입니다.
사용자는 주소 표시줄에 브라우저(예: http://localhost/index.php 입력)를 통해 서버에 PHP 파일을 요청합니다. Apache는 사용자 문서에서 브라우저가 요청한 PHP 파일을 검색합니다. release 디렉토리가 없으면 오류 메시지가 브라우저에 반환되고, 그렇지 않으면 PHP 인터프리터가 PHP 파일에 대한 구문 분석을 수행합니다. 구문 오류가 발견되면 오류 메시지가 Apache를 통해(인식된 코드로 표시됨) 브라우저에 반환됩니다. 그렇지 않으면 PHP 프로그램(MySQL 데이터베이스에 대한 작업이 포함될 수 있음)이 실행되고 PHP가 실행됩니다. 프로그램 실행 결과(브라우저가 인식하는 코드로 표현)는 Apache를 통해 브라우저로 반환되고, 브라우저는 결과를 해석하여 실행하며, 실행 결과를 브라우저 창에 표시합니다.
브라우저에서 요청한 파일이 PHP 파일이 아닌 HTML 파일, JavaScript 파일인 경우. 프로세스는 단순화됩니다. Apache는 서버의 사용자 문서 릴리스 디렉터리에서 브라우저가 요청한 HTML 파일 또는 JavaScript 파일을 찾습니다. 그렇지 않으면 오류 메시지를 브라우저에 반환합니다. 브라우저. 반환된 결과가 해석되어 실행되며, 실행 결과가 브라우저 창에 표시됩니다.
2. 브라우저 작업 과정
(1) 웹 클라이언트 작업 과정
모든 애플리케이션 시스템에는 사용자 작업을 제공하는 인터페이스, 즉 사용자 인터페이스가 있어야 합니다. B/S 프로그램 전체의 관점에서 볼 때, 브라우저의 작업은 사용자가 B/S 프로그램과 상호 작용하기 위한 인터페이스(인터페이스)입니다. 임무는 다음과 같습니다.
A. 사용자 입력 데이터 수집
B. 사용자 데이터를 서버로 보내기
C. 서버에서 반환된 응답을 받습니다
D.이 코드를 설명하고 실행
브라우저가 사용자에게 서버의 에이전트 역할을 한다고 볼 수 있습니다. 이 에이전트는 메시지를 수집하고, 응답을 요청하고, 서버에서 보낸 명령을 해석하는 역할을 합니다.
(2)웹 클라이언트 코드
사용자 데이터를 수집하는 데 사용되는 인터페이스를 구성하거나 서버의 명령을 해석하여 결과 인터페이스를 형성하는 등 모두 웹 클라이언트 코드로 구현됩니다. 일반적으로 사용되는 웹 클라이언트 코드에는 HTML 언어, JavaScript 언어, CSS, XML 및 기타 언어가 포함됩니다.
3.HTML 작동 원리
(1) HTML 소개
HTML: HyperTextMarkupLanguage, 하이퍼텍스트 마크업 언어.
1980년대 후반, 유럽입자물리학연구소(CERN: 유럽입자물리학연구소)에서 일했던 팀 버너스 리(WWW의 아버지)는 연구를 통해 사람들의 시각적 처리가 페이지 기반이라는 사실을 발견했습니다. . 그래서 그는 전자 데이터는 페이지 단위로 표시되어야 한다는 결론에 도달했습니다. 이를 출발점으로 그는 인터넷상의 정보를 구성하기 위해 하이퍼텍스트 중심의 관리 방법을 사용하고 웹 페이지에 액세스하고 탐색하는 방법을 제안했습니다. 그는 하이퍼텍스트 전송 프로토콜(HTTP: Hypertext Transport Protocol)을 설계했습니다. ). ), 하이퍼링크 파일을 얻는 데 사용됩니다. URL: 균일리소스로케이터(Uniform Resource Locator)를 사용하여 네트워크 파일, 사이트 또는 서버를 찾습니다.
(2) HTML 작동 방식
HTML은 본질적으로 프로그래밍 언어가 아니라 마크업 언어입니다. 소위 마크는 일부 책에서는 레이블이라고도 합니다. 객체 지향 관점에서는 브라우저 객체의 식별을 의미합니다. 브라우저의 텍스트 및 이미지와 같은 브라우저 하위 개체의 성능을 제어하고 파일 간의 링크에 대한 태그를 설정하는 방법을 제어하는 데 사용됩니다. 이러한 태그는 텍스트 형식 파일에 배치됩니다. 프로그램 간의 가장 큰 차이점은 운영 체제나 응용 프로그램을 제어하여 특정 작업을 실행하고 완료하는 데 사용할 수 있다는 것입니다. 하이퍼텍스트 마크업 언어 문서는 운영 체제의 브라우저에서 열리든 상관없이 동일한 효과를 가지려면 가능한 한 형식적이어야 합니다.
(3) HTML의 기본 구조
A. 버전 설명, 프롤로그
B. 헤드
C.바디