Contents
Web Server là gì?
Trong bài viết này chúng ta sẽ cùng tìm hiểu về máy chủ Web (Web server), cách nó làm việc và tại sao nó lại quan trọng đến vậy.
Khái niệm Web Server
Máy chủ Web có thể là phần cứng hoặc phần mềm, hoặc có thể vừa là phần cứng vừa là phần mềm.
- Về phía phần cứng, máy chủ web là máy tính lưu các tệp thành phần của trang web (ví dụ: tài liệu HTML, hình ảnh, tệp CSS và các tệp JavaScript) và đưa chúng tới thiết bị của người dùng cuối. Nó được kết nối với Internet và có thể được truy cập qua một tên miền như mozilla.org.
- Về phía phần mềm, một máy chủ web bao gồm một số phần kiểm soát cách người dùng truy cập các tệp được lưu trữ, tối thiểu là một máy chủ HTTP. Máy chủ HTTP là một phần mềm hiểu các URL (địa chỉ web) và HTTP (giao thức mà trình duyệt của bạn sử dụng để xem các trang web).
Ở mức cơ bản nhất, bất cứ khi nào một trình duyệt cần tệp tin lưu trữ trên một máy chủ web, trình duyệt sẽ yêu cầu tệp qua HTTP. Khi yêu cầu đến đúng máy chủ web (phần cứng), máy chủ HTTP (phần mềm) sẽ gửi lại tài liệu yêu cầu, cũng thông qua HTTP.
Xem thêm: HOSTVN.NET là gì? Dịch vụ cung cấp Hosting Tên miền (Domain) của họ ra sao?
Để xuất bản một trang web, bạn cần phải có một máy chủ web tĩnh hoặc động
Một máy chủ web tĩnh (Static web server), hoặc stack, bao gồm một máy tính (phần cứng) với một máy chủ HTTP (phần mềm). Gọi nó là “tĩnh” bởi vì máy chủ gửi tập tin được lưu trữ nguyên vẹn vào trình duyệt của bạn.
Một máy chủ web động (Dynamic web server) bao gồm một máy chủ web tĩnh cộng thêm phần mềm, thường là một máy chủ ứng dụng và một cơ sở dữ liệu. Gọi nó là “động” bởi vì máy chủ ứng dụng cập nhật các tệp được lưu trữ trước khi gửi chúng tới trình duyệt của bạn thông qua máy chủ HTTP.
Xem thêm: Hosting là gì? Địa chỉ mua Máy chủ VPS Server Giá Rẻ Uy tín ở Việt Nam
Ví dụ: để tạo ra các trang web bạn nhìn thấy trong trình duyệt, máy chủ ứng dụng có thể điền vào mẫu HTML với nội dung từ cơ sở dữ liệu. Các trang web như MDN hoặc Wikipedia có hàng ngàn trang web, nhưng chúng không phải là tài liệu HTML thực, chỉ có một vài mẫu HTML là thực và một cơ sở dữ liệu khổng lồ. Thiết lập này làm cho việc duy trì và phân phối nội dung trở nên dễ dàng và nhanh chóng hơn.
Tìm hiểu sâu hơn về Máy chủ Web
Để tìm kiếm một trang web, trình duyệt của bạn sẽ gửi yêu cầu tới máy chủ web sau đó nó tiến hành tìm kiếm tệp tin được yêu cầu trong không gian lưu trữ của riêng mình. Khi tìm tệp, máy chủ sẽ đọc nó, xử lý nó khi cần thiết và gửi nó tới trình duyệt. Hãy xem xét các bước này một cách chi tiết hơn dưới đây.
Lưu trữ các tệp (Hosting files)
Đầu tiên, một máy chủ web phải lưu trữ các tệp của trang web, đó là tất cả tài liệu HTML và các tài liệu liên quan của chúng, bao gồm hình ảnh, tệp CSS, tệp JavaScript, phông chữ và video.
Về mặt kỹ thuật, bạn có thể lưu trữ tất cả các tệp trên máy tính của mình, nhưng lưu trữ tất cả chúng trên một máy chủ web chuyên biệt sẽ có nhiều thuận tiện hơn, như:
- Luôn luôn sẵn sàng hoạt động (up and running)
- Luôn luôn kết nối mạng Internet
- Luôn có địa chỉ IP cố định (không phải tất cả các ISP đều cung cấp một địa chỉ IP cố định)
- Được duy trì bởi một nhà cung cấp bên thứ ba
Với tất cả những lý do này, việc tìm kiếm một nhà cung cấp hosting tốt là một phần quan trọng trong việc xây dựng trang web của bạn. Tìm hiểu tất cả các công ty cung cấp các dịch vụ khác nhau và chọn một dịch vụ phù hợp với nhu cầu và ngân sách của bạn (các dịch vụ từ miễn phí đến hàng ngàn đô la mỗi tháng).
Xem thêm: SSL là gì? Cài đặt hiển thị bảo mật HTTPs cho website
Một khi bạn đã thiết lập xong một giải pháp lưu trữ web, bạn chỉ cần tải lên các tập tin của bạn vào máy chủ web của mình.
Giao tiếp qua HTTP (Communicating through HTTP)
Thứ hai, một máy chủ web cung cấp hỗ trợ cho HTTP (Hyper text Transfer Protocol). Như tên gọi của mình, HTTP xác định làm thế nào để chuyển siêu văn bản (tức là các tài liệu web liên kết) giữa hai máy tính.
Giao thức là một tập hợp các quy tắc để truyền thông tin giữa hai máy tính. HTTP là một giao thức nguyên bản (textual), vô cấp (stateless).
Textual
Tất cả các lệnh là văn bản thuần túy và con người có thể đọc được.
Stateless
Cả máy chủ lẫn máy khách đều không nhớ các kết nối trước đó. Ví dụ: chỉ dựa vào HTTP, máy chủ không thể nhớ mật khẩu bạn đã nhập hoặc các bước bạn đã làm khi tham gia vào một giao dịch nào đó. Bạn cần một máy chủ ứng dụng (application server) cho các tác vụ như vậy. (Chúng tôi sẽ giới thiệu loại công nghệ này trong các bài viết tiếp theo).
HTTP cung cấp các quy tắc rõ ràng về cách khách hàng và máy chủ giao tiếp. Chúng tôi sẽ giới thiệu cụ thể về HTTP trong một bài viết về sau này. Bây giờ, bạn chỉ cần biết những điều sau đây:
- Chỉ những khách hàng có thể tạo các yêu cầu HTTP tới các máy chủ. Máy chủ chỉ có thể đáp ứng yêu cầu HTTP của khách hàng .
- Khi yêu cầu một tệp nào đó qua HTTP, khách hàng phải cung cấp URL của tệp.
- Máy chủ web bắt buộc phải trả lời mọi yêu cầu HTTP, ít nhất là trả lời những thông báo lỗi.
Trên một máy chủ web, máy chủ HTTP có trách nhiệm xử lý và trả lời các yêu cầu đến.
- Khi nhận yêu cầu, đầu tiên máy chủ HTTP sẽ kiểm tra xem URL yêu cầu có khớp với tệp hiện có hay không.
- Nếu có, máy chủ web gửi nội dung tệp tin về trình duyệt. Nếu không, máy chủ ứng dụng sẽ tạo tệp cần thiết.
- Nếu không thể xử lý được, máy chủ web trả lại thông báo lỗi cho trình duyệt, thông thường là lỗi “404 Not Found”. (Lỗi đó là rất phổ biến mà nhiều nhà thiết kế web dành khá nhiều thời gian để thiết kế trang “lỗi 404”).
Nội dung tĩnh và động (Static và Dynamic Content)
Nói chung, một máy chủ có thể có cả nội dung tĩnh và động. “Static” có nghĩa là “nội dung được phục vụ nguyên bản” (Server as-is). Thiết lập các trang web tĩnh khá đơn giản, vì vậy chúng tôi khuyên bạn nên tạo trang web đầu tiên của mình là trang web tĩnh.
“Dynamic” có nghĩa là máy chủ xử lý nội dung hoặc thậm chí tạo ra chúng từ cơ sở dữ liệu. Giải pháp này linh hoạt hơn, nhưng phần kỹ thuật lại khó xử lý hơn và làm cho việc xây dựng trang web trở nên phức tạp hơn.
Ví dụ như trang web bạn đang đọc ngay bây giờ. Trên máy chủ web lưu trữ nó, có một máy chủ ứng dụng lấy nội dung bài viết từ cơ sở dữ liệu, định dạng nó, đặt nó bên trong một số mẫu HTML và gửi cho bạn kết quả. Trong trường hợp này, máy chủ ứng dụng được gọi là Kuma và được xây dựng bằng Python (sử dụng khung Django). Nhóm Mozilla xây dựng Kuma cho các nhu cầu cụ thể của MDN, nhưng có nhiều ứng dụng tương tự được xây dựng bằng nhiều công nghệ khác.
Có rất nhiều máy chủ ứng dụng và thật khó để đề xuất cụ thể một máy chủ cho bạn. Một số máy chủ ứng dụng phục vụ cho các loại trang web cụ thể như blog, wiki hoặc cửa hàng điện tử; và nhiều thức khác nữa, chúng được gọi là hệ thống quản lý nội dung (CMSs – Content Management Systems). Nếu bạn đang xây dựng một trang web động, hãy dành thời gian để chọn một công cụ phù hợp với nhu cầu của bạn. Trừ khi bạn muốn tìm hiểu thêm về cách lập trình máy chủ web, bạn không cần phải tạo máy chủ ứng dụng của riêng bạn. Đó là hành động không cần thiết.
TẠI SAO BẠN NÊN CHỌN HOSTVN?
Đội ngũ trẻ trung năng động của HOSTVN luôn tìm kiếm sự đổi mới sáng tạo trong công việc và tối ưu hóa khâu quản lý dịch vụ bằng việc đầu tư xây dựng hệ thống quản lý tự động bài bản ngay từ những ngày đầu mới thành lập. Việc này đã giúp giảm thiểu tối đa những sai sót cũng như tiết kiệm tài nguyên, nhân lực và chi phí vận hành nhằm mang đến cho khách hàng những sản phẩm có mức giá cạnh tranh hơn.