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.바디

PHP와 Python은 각각 고유 한 장점이 있으며 선택은 프로젝트 요구 사항을 기반으로해야합니다. 1.PHP는 간단한 구문과 높은 실행 효율로 웹 개발에 적합합니다. 2. Python은 간결한 구문 및 풍부한 라이브러리를 갖춘 데이터 과학 및 기계 학습에 적합합니다.

PHP는 죽지 않고 끊임없이 적응하고 진화합니다. 1) PHP는 1994 년부터 새로운 기술 트렌드에 적응하기 위해 여러 버전 반복을 겪었습니다. 2) 현재 전자 상거래, 컨텐츠 관리 시스템 및 기타 분야에서 널리 사용됩니다. 3) PHP8은 성능과 현대화를 개선하기 위해 JIT 컴파일러 및 기타 기능을 소개합니다. 4) Opcache를 사용하고 PSR-12 표준을 따라 성능 및 코드 품질을 최적화하십시오.

PHP의 미래는 새로운 기술 트렌드에 적응하고 혁신적인 기능을 도입함으로써 달성 될 것입니다. 1) 클라우드 컴퓨팅, 컨테이너화 및 마이크로 서비스 아키텍처에 적응, Docker 및 Kubernetes 지원; 2) 성능 및 데이터 처리 효율을 향상시키기 위해 JIT 컴파일러 및 열거 유형을 도입합니다. 3) 지속적으로 성능을 최적화하고 모범 사례를 홍보합니다.

PHP에서, 특성은 방법 재사용이 필요하지만 상속에 적합하지 않은 상황에 적합합니다. 1) 특성은 클래스에서 다중 상속의 복잡성을 피할 수 있도록 수많은 방법을 허용합니다. 2) 특성을 사용할 때는 대안과 키워드를 통해 해결할 수있는 방법 충돌에주의를 기울여야합니다. 3) 성능을 최적화하고 코드 유지 보수성을 향상시키기 위해 특성을 과도하게 사용해야하며 단일 책임을 유지해야합니다.

의존성 주입 컨테이너 (DIC)는 PHP 프로젝트에 사용하기위한 객체 종속성을 관리하고 제공하는 도구입니다. DIC의 주요 이점에는 다음이 포함됩니다. 1. 디커플링, 구성 요소 독립적 인 코드는 유지 관리 및 테스트가 쉽습니다. 2. 유연성, 의존성을 교체 또는 수정하기 쉽습니다. 3. 테스트 가능성, 단위 테스트를 위해 모의 객체를 주입하기에 편리합니다.

SplfixedArray는 PHP의 고정 크기 배열로, 고성능 및 메모리 사용이 필요한 시나리오에 적합합니다. 1) 동적 조정으로 인한 오버 헤드를 피하기 위해 생성 할 때 크기를 지정해야합니다. 2) C 언어 배열을 기반으로 메모리 및 빠른 액세스 속도를 직접 작동합니다. 3) 대규모 데이터 처리 및 메모리에 민감한 환경에 적합하지만 크기가 고정되어 있으므로주의해서 사용해야합니다.

PHP는 $ \ _ 파일 변수를 통해 파일 업로드를 처리합니다. 보안을 보장하는 방법에는 다음이 포함됩니다. 1. 오류 확인 확인, 2. 파일 유형 및 크기 확인, 3 파일 덮어 쓰기 방지, 4. 파일을 영구 저장소 위치로 이동하십시오.

JavaScript에서는 NullCoalescingOperator (??) 및 NullCoalescingAssignmentOperator (?? =)를 사용할 수 있습니다. 1. 2. ??= 변수를 오른쪽 피연산자의 값에 할당하지만 변수가 무효 또는 정의되지 않은 경우에만. 이 연산자는 코드 로직을 단순화하고 가독성과 성능을 향상시킵니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.
