Kinh nghiệm lập trình website mã nguồn mở PHP

Website nhập môn – bước đầu vào con đường lập trình web

Với những bạn mới làm lập trình web, không phải ai cũng nắm rõ cách 1 trang website hoạt động như thế nào? Cũng như có thể trả lời các câu hỏi về mô hình Client-Server, địa chỉ IP là gì?…
Ngày nay, các web framework phát triển rất mạnh mẽ, kiến thức mới thì muôn hình vạn trạng, khiến cho các bạn mới vào nghề chắc hẳn rất khó khăn và bỡ ngỡ, dễ lạc lối trong mê cung của công nghệ. Tuy nhiên có những thứ luôn luôn bất biến gọi là kiến thức nền, mà khi ta học 1 lần rồi không bao giờ lạc hậu, cách hoạt động của 1 trang web chính là 1 trong những kiến thức như thế.

Website nhập môn - bước đầu vào con đường lập trình web

Các khái niệm cần nắm

Hiểu cặn kẽ về thế giới web không phải dễ như ăn bánh, nhất là có rất nhiều các từ ngữ, tên gọi chuyên môn. Các khái niệm đó chính là chìa khóa quan trọng để bạn hiểu rõ cơ chế hoạt động của website.

Client

Là một chương trình phần mềm như Chrome, Firefox, Cốc Cốc… Gọi chung là trình duyệt web (browser), hoạt động trên 1 chiếc máy tính có kết nối internet. Khi ta gõ địa chỉ trang web vào trình duyệt, thì thao tác này gọi là Client gửi yêu cầu tới Web Server. Ta cũng có thể nói rằng Client chính là chiếc máy tính chạy trình duyệt web đó.

Server

Cũng là 1 chiếc máy tính, nhưng với vai trò là đích nhận yêu cầu và trả về phản hồi kết quả cho Client. Có nhiều loại servers, bao gồm web server, database server, file server

IP address

Internet Protocol Address là dãy số dùng để nhận dạng. Mỗi máy tính kết nối internet đều có 1 địa chỉ IP này, giống như số nhà để tiện trong việc tìm kiếm. IP được chia làm 4 phần, ví dụ 244.155.65.2 (mỗi phần là số nguyên từ 0 tới 255)

ISP

Internet Service Provider là nhà cung cấp dịch vụ internet, như Viettel, FPT, VNPT. Nếu không có đơn vị này thì ta không thể nào có mạng để lướt web được. ISP đóng vai trò cầu nối trung gian giữa Client và Server, khi bạn gõ địa chỉ trang web vào trình duyệt, thì công việc của ISP là đi tìm địa chỉ IP của website bạn đang yêu cầu trên DNS.

DNS

Domain Name System, là một cơ sở dữ liệu lưu trữ thông tin của tên miền (domain) trỏ tới địa chỉ IP trên internet.

Domain Name

Tên miền website, là 1 đơn vị trong 1 hệ thống DNS, ví dụ như facebook.com, google.com, mỗi một tên miền đều lưu trữ trên DNS trỏ tới địa chỉ IP của Server, để cho ISP tìm kiếm từ máy của bạn là Client.

TCP/IP

Transmission Control Protocol/Internet Protocol, là giao thức, các chuẩn để truyền tải dữ liệu trên mạng máy tính.

Port Number

Số nguyên 16 bit (IP chỉ có 8 bit), đi kèm với địa chỉ IP, xác định cách thức Server giao tiếp với Client, ví dụ HTTP là port 80, HTTPS port 443, FTP là port 21, SSH/SFTP là port 22

HTTP

Hyper-text Transfer Protocol, giao thức để Client và Server giao tiếp, truyền tải dữ liệu.

URL

Uniform Resource Locators là đường dẫn tới 1 địa chỉ trang web và tài nguyên website ví dụ như trang chủ, trang contact, trang product…

Host

Host là 1 tổ chức cung cấp dịch vụ server, để đặt mã nguồn website của bạn trên đó, như mắt bão, PA. Ví dụ Hosting PA có gói dịch vụ Server $5 1 tháng.

Thực tiễn

Tại sao ta cần nắm những kiến thức này? Vì khi bạn muốn đưa 1 trang web lên mạng internet toàn cầu thì bạn phải làm các bước cơ bản sau:

  • Mua 1 cái tên miền từ nhà cung cấp, domain.com thì nên mua của GoDaddy, domain.vn thì phải mua của các nhà cung cấp tại Việt Nam
  • Mua 1 cái Server từ nhà cung cấp dịch vụ Hosting như Vultr, và để mã nguồn website trên đó
  • Xem thông tin địa chỉ IP của Server, vào phần cài đặt của tên miền để cấu hình trỏ tới địa chỉ IP này, lúc này GoDaddy sẽ cập nhật trên DNS tên miền cùng IP Server của bạn.
  • Dùng trình duyệt truy cập tên miền, ISP sẽ đi tìm tên miền trên DNS và dựa vào IP để đi tới Server chứa website.

Cách thức hoạt động

1. Ta gõ địa chỉ trang web lên trình duyệt

Trình duyệt sẽ phân tích cái URL: gồm giao thức (https), tên miền (github.com), và resource – trường hợp resource không có tức là trang web yêu cầu là trang chủ index.
2. Trình duyệt của bạn sẽ giao tiếp tới ISP để tra tìm trên DNS một cái địa chỉ IP dựa trên tên miền github.com. Khi ISP tìm thấy đúng địa chỉ IP, nó sẽ gửi về trình duyệt

3. Khi trình duyệt nhận được địa chỉ trên (https có port mặc định là 443), nó sẽ mở 1 kết nối TCP, kết thúc quá trình kết nối giữa máy tính của bạn (Client) và Server của github.
4. Trình duyệt bắt đầu gửi yêu cầu tới web server để nhận được nội dung trang web HTML github.com thông qua kết nối ở bước 3

5. Web server nhận được yêu cầu và tra tìm trang, nếu có nó sẽ trả về trình duyệt, nếu không nó sẽ trả về 1 HTTP mã lỗi 404 ý nghĩa là “Page Not Found”

6. Trình duyệt lúc này đã nhận được 1 trang chứa mã HTML, nó bắt đầu biên dịch lại, đối với mỗi đường dẫn tới tập tin hình ảnh, CSS, JS, trình duyệt lại tiếp tục gửi yêu cầu tới server để nhận nội dung là HTTP tương ứng

7. Cho tới khi trình duyệt nhận được đầy đủ các tài nguyên mà nó cần trên trang HTML, trang web cuối cùng sẽ được hiển thị trên cửa sổ trình duyệt, kết nối Client-Server sẽ được đóng lại tạm thời.

Tài liệu kham khảo cho lập trình web

https://thachpham.com/hosting-domain/website-tren-internet.html
https://tech.vccloud.vn/tim-hieu-web-server-hoat-dong-nhu-the-nao-20180703101609013.htm
https://toidicodedao.com/2017/08/17/lam-the-nao-de-tro-thanh-web-developer-phan-1/
https://kipalog.com/posts/Tim-hieu-ve-TCP—1
https://medium.freecodecamp.org/how-the-web-works-a-primer-for-newcomers-to-web-development-or-anyone-really-b4584e63585c

Hẹn gặp lại các bạn ở phần sau của loạt bài lập trình web

Website nhập môn – bước đầu vào con đường lập trình web
Đánh giá bài viết

Gửi phản hồi

Your email address will not be published. Required fields are marked *