[Thảo luận]Phân biệt HTML và PHP

Đăng ngày: 09 Tháng 9 2012
Đánh giá bài này
(1 Bình chọn)

Cái mà tôi nói đây hơi rắc rối một tí, nhiều người dùng PHP thường không cần biết cái này! Nhưng tin tôi đi, Nếu bạn cố gắng hiểu được cơ chế của nó (nó chỉ lấy của bạn khoảng 10 phút thôi), không những bạn sẽ tiết kiệm được nhiều thời gian sau này mà còn sẽ hiểu được bạn sắp làm gì  nữa kìa! 

Khi ai đó vào thăm trang web của bạn, sau khi họ gõ địa chỉ, enter, rồi trang web được tải về hiển thị lên màn hình! Đồng ý, nhưng giữa khoảng thời gian sau khi bạn enter và khi trang web hiển thị lên, thì có chuyện gì đã diễn ra âm thầm trong đó không nhỉ?!
Đương nhiên là không có thì tôi không nói làm gì! Điều này rất quan trọng, vì cơ chế hoạt động của HTML và PHP hoàn toàn khác nhau! Để tôi giải thích từ từ nhé:
  Trước hết, bạn cần phải biết một khái niệm: quan hệ client-server! Quỷ quái gì nữa đây ? Không không, chả có gì quái quỷ bên trong đâu !

  • Client ( khách ) nghĩa là bạn đấy mà ! Chính bạn là người đang âm thầm rón rén ngồi trước máy tính xin được xem trang web ! Tất cả những người xem web được gọi là client hết ! 

    Tôi diễn tả máy client của bạn là cái này nhé :

  • Server ( chủ ) : chỉ có một server thôi ! Đó là một loại máy khổng lồ nối mạng suốt 24/24 (với một tốc độ kết nối cực nhanh), nó được đặt đâu đó trên thế giới, chạy liên tục 24/24 một mình, không ai chạm vào, không ai chơi gì trên nó cả ! Nó chỉ làm mỗi nhiệm vụ là phân phối các trang web cho client xem ! 
    Cơ chế của nó là nó chứa trang web của bạn trên ổ cứng của nó, mỗi khi có ai hỏi ý xin xem, nó sẽ gửi cho người đó xem ! Phải chi ai hỏi tiền mà nó cũng cho thế này thì đã quá ! Xin là cho hà !
    Để biểu diễn server, tôi dùng cái máy dưới đây nhé (chú ý rằng gã server này không có màn hình, vì chẳng dùng để làm gì cả, có ai thèm coi mặt nó đâu, nó vốn một mình, cô đơn, làm việc âm thầm lặng lẽ…)

 Bạn thấy sao, cũng không rối rắm lắm nhỉ ! Với những ai chưa hiểu, tôi xin ví dụ như sau :
Tưởng tượng một cái nhà hàng nhé (KFC đi), bạn vô đó ăn, thì bạn là CLIENT ! Bạn gọi 2 phần gà chiên và khoai tây cộng một chai cocacola (ặc, đói quá !), thằng phục vụ (tức server) liền chạy đi lấy đưa cho bạn liền ! Rồi nếu có khách (client) khác tới, lại gọi 2 phần gà chiên khoai tây và cocacola như bạn, thằng phục vụ cũng chạy đi lấy liền ! Nó cứ làm như vậy hoài, liên tục, không ngừng nghỉ (nó mà nghỉ là ông chủ cho thôi việc liền) !
   Internet cũng vậy, thằng phục vụ bây giờ là cái máy chủ to tướng khổng lồ không màn hình mà tôi nói hồi nãy, nó cũng làm việc liên tục không ngừng mỗi khi có ai đó xin được xem trang web nào đó, nó liền gửi cho người ta xem ! Nó làm như thể sợ người ta cho nó về hưu sớm vậy ! Không dám nghỉ ! 
Rồi, hiểu client-server rồi nhé ! Bây giờ tôi sẽ giải thích PHP và HTML làm việc khác nhau thế nào !

Trước hết, về HTML :

Nhắc lại rằng một trang HTML có phần mở rộng là .html, ví dụ như exemple.html
Tôi không đi vào chi tiết, chỉ giải thích hoạt động của nó bằng sơ đồ sau :

 
1: demande de la page: xin xem trang web 
2: envoi de la page: gửi cho xem trang web



Có hai bước :

  1. Client (tức bạn, khách viếng thăm) muốn xem một trang web. Bạn xin server « anh server ơi, làm ơn gửi cho em xem trang nghihe.html với »
  2. Server trả lời bằng cách quăng trang web vô màn hình của bạn « nè ! Đây là cái trang web mà mầy vừa đòi xem đó ku »

Bây giờ tới PHP :

Nó chèn thêm một bước nữa giữa hai bước nói trên, trang PHP được phát sinh bởi server trước khi gửi đến client. Sơ đồ hóa như vầy :


1: demande de la page: xin xem trang web 
2: génération de la page: phát sinh trang web
3: envoi de la page: gửi cho xem trang web


Các bước hoạt động như sau :

  1. Client xin xỏ « anh server ơi, làm ơn gửi cho em xem trang nghihe.php đi »
  2. Ở đây, một bước rất quan trọng, server không gửi trang web tới client ngay lập tức, mà nó phát sinh ra trang web trước ! Như vậy client không thể nào đọc được trang php có gì trong đó (chỉ có server đọc được thôi), client chỉ đọc được những trang HTML thôi ! Việc của server rất đơn giản : nó biến đổi trang php thành trang html để client có thể đọc được !
  3. Cuối cùng, sau khi đã tạo xong trang HTML, giờ này nó chỉ có mã HTML bên trong thôi, rồi gửi tới client « nè ! Đây là trang web mà mầy đòi xem đó ! »

Vấn đề quan trọng của bạn bây giờ là hiểu cho rõ bước thứ 2 trên đây !

"Phát sinh từ trang php" ý muốn nói gì đây ?

Lấy lại ví dụ từ đầu chương , tôi sẽ cho bạn xem :
?php echo("You are the visitor n°" . $nb_visitors); ?> 
Máy tính của bạn không hiểu dòng này, chỉ có server hiểu và biến đổi nó thành HTML.

Vậy mã PHP dùng để làm gì ?

Mã PHP bao gồm những cấu trúc lệnh ! Giống như những dòng lệnh mà mình viết trong lập trình vậy (chẳng hạn như lập trình C, C++, Java, Python,...). Nó yêu cầu server cho biết giờ, số người khách vào thăm,… Nói ngắn gọn : PHP ra lệnh cho server ! Điều mà HTML không làm được.
Đừng quên rằng trang PHP cũng có chứa mã HTML nữa, nhưng mà server không đụng đến, nó chỉ khoái chỗ nào có PHP thôi ! Rồi nhận lệnh mà PHP sai bảo, rồi biến tất cả thành HTML !
Một điều đặc biệt ở đây là : trang web phát sinh chỉ được gửi đến một client duy nhất ! Nghĩa là khi có ai xin xem nữa, server sẽ lại bắt đầu phát sinh một trang khác ! (Thằng này kĩ dữ, không lấy đồ xài rồi hay second-hand cho người ta! Tốt!)
Lưu ý rằng việc phát sinh này cũng chiếm một khoảng thời gian (vài phần nghìn giây, tùy dung lượng của trang), có nghĩa là server PHP phải mạnh hơn nhiều lần so với một server HTML thông thường ! Nếu trang web của bạn nổi tiếng, cùng lúc có thể có 30 người truy cập vào, cho nên server càng phải mạnh !

Xuân Trung

Gửi bình luận

Hãy nhập đầy đủ các thông tin yêu cầu trong ô có dấu (*). Không được phép sử dụng mã HTML.

LIKE để ủng hộ bạn nhé!

 

Tham gia diễn đàn seo hàng đầu Việt Nam

Has no content to show!