Hướng dẫn html is server-side or client-side - html là phía máy chủ hoặc phía máy khách

  • Tổng quan: Các bước đầu tiên
  • Tiếp theo

Chào mừng bạn đến với khóa học lập trình phía máy chủ của người mới bắt đầu MDN! Trong bài viết đầu tiên này, chúng tôi xem xét lập trình phía máy chủ từ cấp cao, trả lời các câu hỏi như "cái gì vậy?", "Làm thế nào nó khác với lập trình phía khách hàng?", Và "Tại sao nó rất hữu ích?" . Sau khi đọc bài viết này, bạn sẽ hiểu nguồn bổ sung có sẵn cho các trang web thông qua mã hóa phía máy chủ.

Hầu hết các trang web quy mô lớn đều sử dụng mã phía máy chủ để hiển thị động dữ liệu khác nhau khi cần, thường được rút ra khỏi cơ sở dữ liệu được lưu trữ trên máy chủ và được gửi đến máy khách để được hiển thị thông qua một số mã (ví dụ: HTML và JavaScript).

Có lẽ lợi ích quan trọng nhất của mã phía máy chủ là nó cho phép bạn điều chỉnh nội dung trang web cho người dùng cá nhân. Các trang web động có thể làm nổi bật nội dung phù hợp hơn dựa trên sở thích và thói quen của người dùng. Nó cũng có thể giúp các trang web dễ sử dụng hơn bằng cách lưu trữ các tùy chọn và thông tin cá nhân - ví dụ: sử dụng lại chi tiết thẻ tín dụng được lưu trữ để hợp lý hóa các khoản thanh toán tiếp theo.

Nó thậm chí có thể cho phép tương tác với người dùng của trang web, gửi thông báo và cập nhật qua email hoặc thông qua các kênh khác. Tất cả các khả năng này cho phép tham gia sâu hơn nhiều với người dùng.

Trong thế giới hiện đại của phát triển web, việc tìm hiểu về phát triển phía máy chủ rất được khuyến khích.

Lập trình trang web phía máy chủ là gì?

Trình duyệt web giao tiếp với các máy chủ web bằng giao thức chuyển siêu văn bản (HTTP). Khi bạn nhấp vào liên kết trên trang web, gửi biểu mẫu hoặc chạy tìm kiếm, yêu cầu HTTP được gửi từ trình duyệt của bạn đến máy chủ đích.HyperText Transfer Protocol (HTTP). When you click a link on a web page, submit a form, or run a search, an HTTP request is sent from your browser to the target server.

Yêu cầu bao gồm một URL xác định tài nguyên bị ảnh hưởng, một phương thức xác định hành động cần thiết (ví dụ: để có được, xóa hoặc đăng tài nguyên) và có thể bao gồm thông tin bổ sung được mã hóa trong các tham số URL (các cặp giá trị trường được gửi qua truy vấn Chuỗi), dưới dạng dữ liệu bài đăng (dữ liệu được gửi bởi phương thức bài HTTP) hoặc trong các cookie được liên kết.

Máy chủ web chờ tin nhắn yêu cầu của khách hàng, xử lý chúng khi chúng đến và trả lời trình duyệt web với thông báo phản hồi HTTP. Phản hồi chứa một dòng trạng thái cho biết liệu yêu cầu có thành công hay không (ví dụ: "HTTP/1.1 200 OK" để thành công).HTTP response message. The response contains a status line indicating whether or not the request succeeded (e.g. "HTTP/1.1 200 OK" for success).

Phần thân của một phản hồi thành công đối với một yêu cầu sẽ chứa tài nguyên được yêu cầu (ví dụ: trang HTML mới hoặc hình ảnh), sau đó có thể được hiển thị bởi trình duyệt web.

Trang web tĩnh

Sơ đồ bên dưới hiển thị kiến ​​trúc máy chủ web cơ bản cho một trang web tĩnh (một trang web tĩnh là một trang web trả về cùng một nội dung được mã hóa cứng từ máy chủ bất cứ khi nào một tài nguyên cụ thể được yêu cầu). Khi người dùng muốn điều hướng đến một trang, trình duyệt sẽ gửi yêu cầu HTTP "nhận" chỉ định URL của nó.

Máy chủ lấy tài liệu được yêu cầu từ hệ thống tệp của nó và trả về phản hồi HTTP chứa tài liệu và trạng thái thành công (thường là 200 OK). Nếu tệp không thể được truy xuất vì một số lý do, trạng thái lỗi được trả về (xem Phản hồi lỗi của máy khách và phản hồi lỗi máy chủ).

Hướng dẫn html is server-side or client-side - html là phía máy chủ hoặc phía máy khách

Trang web năng động

Một trang web động là một trong đó một số nội dung phản hồi được tạo một cách động, chỉ khi cần thiết. Trên một trang web động, các trang HTML thường được tạo bằng cách chèn dữ liệu từ cơ sở dữ liệu vào giữ chỗ trong các mẫu HTML (đây là cách lưu trữ lượng nội dung hiệu quả hơn nhiều so với sử dụng các trang web tĩnh).

Một trang web động có thể trả về các dữ liệu khác nhau cho một URL dựa trên thông tin được cung cấp bởi người dùng hoặc các tùy chọn được lưu trữ và có thể thực hiện các hoạt động khác như một phần của việc trả lại phản hồi (ví dụ: gửi thông báo).

Hầu hết các mã để hỗ trợ một trang web động phải chạy trên máy chủ. Tạo mã này được gọi là "Lập trình phía máy chủ" (hoặc đôi khi "kịch bản back-end").server-side programming" (or sometimes "back-end scripting").

Sơ đồ dưới đây cho thấy một kiến ​​trúc đơn giản cho một trang web động. Như trong sơ đồ trước, các trình duyệt gửi các yêu cầu HTTP đến máy chủ, sau đó máy chủ xử lý các yêu cầu và trả về các phản hồi HTTP phù hợp.

Yêu cầu tài nguyên tĩnh được xử lý theo cách tương tự như đối với các trang web tĩnh (tài nguyên tĩnh là bất kỳ tệp nào không thay đổi-thông thường: CSS, JavaScript, hình ảnh, tệp PDF được tạo sẵn, v.v.).

Hướng dẫn html is server-side or client-side - html là phía máy chủ hoặc phía máy khách

Thay vào đó, các yêu cầu cho các tài nguyên động được chuyển tiếp (2) sang mã phía máy chủ (được hiển thị trong sơ đồ dưới dạng ứng dụng web). Đối với "Yêu cầu động", máy chủ diễn giải yêu cầu, đọc thông tin cần thiết từ cơ sở dữ liệu (3), kết hợp dữ liệu được truy xuất với các mẫu HTML (4) và gửi lại phản hồi có chứa HTML được tạo (5,6).

Có lập trình phía máy chủ và phía máy khách giống nhau không?

Bây giờ chúng ta hãy chú ý đến mã liên quan đến lập trình phía máy chủ và phía máy khách. Trong mỗi trường hợp, mã khác nhau đáng kể:

  • Họ có các mục đích và mối quan tâm khác nhau.
  • Chúng thường không sử dụng cùng một ngôn ngữ lập trình (ngoại lệ là JavaScript, có thể được sử dụng ở phía máy chủ và máy khách).
  • Họ chạy bên trong các môi trường hệ điều hành khác nhau.

Mã chạy trong trình duyệt được gọi là mã phía máy khách và chủ yếu quan tâm đến việc cải thiện sự xuất hiện và hành vi của một trang web được hiển thị. Điều này bao gồm việc chọn và tạo kiểu các thành phần UI, tạo bố cục, điều hướng, xác thực biểu mẫu, v.v. Ngược lại, lập trình trang web phía máy chủ chủ yếu liên quan đến việc chọn nội dung nào được trả lại cho trình duyệt để đáp ứng các yêu cầu. Mã phía máy chủ xử lý các tác vụ như xác thực dữ liệu và yêu cầu đã gửi, sử dụng cơ sở dữ liệu để lưu trữ và truy xuất dữ liệu và gửi dữ liệu chính xác cho máy khách theo yêu cầu.client-side code and is primarily concerned with improving the appearance and behavior of a rendered web page. This includes selecting and styling UI components, creating layouts, navigation, form validation, etc. By contrast, server-side website programming mostly involves choosing which content is returned to the browser in response to requests. The server-side code handles tasks like validating submitted data and requests, using databases to store and retrieve data and sending the correct data to the client as required.

Mã phía máy khách được viết bằng cách sử dụng HTML, CSS và JavaScript-nó được chạy bên trong trình duyệt web và có ít hoặc không có quyền truy cập vào hệ điều hành cơ bản (bao gồm cả quyền truy cập hạn chế vào hệ thống tệp).

Các nhà phát triển web không thể kiểm soát trình duyệt mà mọi người dùng có thể sử dụng để xem trang web-trình duyệt cung cấp mức độ tương thích không nhất quán với các tính năng mã phía máy khách và một phần của thách thức lập trình phía khách hàng là xử lý sự khác biệt trong hỗ trợ trình duyệt một cách duyên dáng.

Mã phía máy chủ có thể được viết bằng bất kỳ số lượng ngôn ngữ lập trình nào-ví dụ về các ngôn ngữ web phía máy chủ phổ biến bao gồm PHP, Python, Ruby, C#và JavaScript (NodeJS). Mã phía máy chủ có quyền truy cập đầy đủ vào hệ điều hành máy chủ và nhà phát triển có thể chọn ngôn ngữ lập trình (và phiên bản cụ thể) mà họ muốn sử dụng.

Các nhà phát triển thường viết mã của họ bằng cách sử dụng các khung web. Các khung web là các bộ sưu tập các chức năng, đối tượng, quy tắc và các cấu trúc mã khác được thiết kế để giải quyết các vấn đề phổ biến, tăng tốc độ phát triển và đơn giản hóa các loại tác vụ khác nhau phải đối mặt trong một miền cụ thể.web frameworks. Web frameworks are collections of functions, objects, rules and other code constructs designed to solve common problems, speed up development, and simplify the different types of tasks faced in a particular domain.

Một lần nữa, trong khi cả hai khung sử dụng mã phía máy khách và máy chủ, các tên miền rất khác nhau và do đó các khung cũng vậy. Các khung web phía máy khách đơn giản hóa các tác vụ bố trí và trình bày trong khi các khung web phía máy chủ cung cấp rất nhiều chức năng máy chủ web "phổ biến" mà bạn có thể phải tự thực hiện (ví dụ: hỗ trợ cho các phiên, hỗ trợ cho người dùng và xác thực, truy cập cơ sở dữ liệu dễ dàng, truy cập cơ sở dữ liệu dễ dàng, Thư viện khuôn mẫu, v.v.).

Lưu ý: Khung phía máy khách thường được sử dụng để giúp tăng tốc độ phát triển mã phía máy khách, nhưng bạn cũng có thể chọn viết tất cả mã bằng tay; Trên thực tế, việc viết mã của bạn bằng tay có thể nhanh hơn và hiệu quả hơn nếu bạn chỉ cần một giao diện người dùng trang web nhỏ, đơn giản. Client-side frameworks are often used to help speed up development of client-side code, but you can also choose to write all the code by hand; in fact, writing your code by hand can be quicker and more efficient if you only need a small, simple web site UI.

Ngược lại, bạn gần như sẽ không bao giờ xem xét việc viết thành phần phía máy chủ của ứng dụng web mà không có khung-thực hiện một tính năng quan trọng như máy chủ HTTP thực sự khó thực hiện từ đầu trong Python, nhưng các khung web Python như Django cung cấp một của hộp, cùng với các công cụ rất hữu ích khác.

Bạn có thể làm gì ở phía máy chủ?

Lập trình phía máy chủ rất hữu ích vì nó cho phép chúng tôi cung cấp hiệu quả thông tin phù hợp cho người dùng cá nhân và do đó tạo ra trải nghiệm người dùng tốt hơn nhiều.

Các công ty như Amazon sử dụng lập trình phía máy chủ để xây dựng kết quả tìm kiếm cho sản phẩm, đưa ra các đề xuất sản phẩm được nhắm mục tiêu dựa trên sở thích của khách hàng và thói quen mua trước đó, đơn giản hóa việc mua hàng, v.v.

Các ngân hàng sử dụng lập trình phía máy chủ để lưu trữ thông tin tài khoản và chỉ cho phép người dùng được ủy quyền xem và thực hiện các giao dịch. Các dịch vụ khác như Facebook, Twitter, Instagram và Wikipedia sử dụng lập trình phía máy chủ để làm nổi bật, chia sẻ và kiểm soát quyền truy cập vào nội dung thú vị.

Một số sử dụng phổ biến và lợi ích của lập trình phía máy chủ được liệt kê dưới đây. Bạn sẽ lưu ý rằng có một số chồng chéo!

Lưu trữ hiệu quả và cung cấp thông tin

Hãy tưởng tượng có bao nhiêu sản phẩm có sẵn trên Amazon và tưởng tượng có bao nhiêu bài viết đã được viết trên Facebook? Tạo một trang tĩnh riêng cho mỗi sản phẩm hoặc bài đăng sẽ hoàn toàn không thực tế.

Lập trình phía máy chủ cho phép chúng tôi thay vào đó lưu trữ thông tin trong cơ sở dữ liệu và xây dựng động và trả về HTML và các loại tệp khác (ví dụ: pdfs, hình ảnh, v.v.). Cũng có thể trả về dữ liệu (JSON, XML, v.v.) để kết xuất bởi các khung web phía máy khách thích hợp (điều này làm giảm gánh nặng xử lý trên máy chủ và lượng dữ liệu cần được gửi).

Máy chủ không giới hạn trong việc gửi thông tin từ cơ sở dữ liệu và có thể trả về kết quả của các công cụ phần mềm hoặc dữ liệu từ các dịch vụ truyền thông. Nội dung thậm chí có thể được nhắm mục tiêu cho loại thiết bị khách đang nhận được.

Vì thông tin nằm trong cơ sở dữ liệu, nó cũng có thể dễ dàng được chia sẻ và cập nhật hơn với các hệ thống kinh doanh khác (ví dụ: khi các sản phẩm được bán trực tuyến hoặc trong một cửa hàng, cửa hàng có thể cập nhật cơ sở dữ liệu của nó về hàng tồn kho).

Lưu ý: Trí tưởng tượng của bạn không phải làm việc chăm chỉ để thấy lợi ích của mã phía máy chủ để lưu trữ và phân phối thông tin hiệu quả: Your imagination doesn't have to work hard to see the benefit of server-side code for efficient storage and delivery of information:

  1. Truy cập Amazon hoặc một số trang web thương mại điện tử khác.
  2. Tìm kiếm một số từ khóa và lưu ý cách cấu trúc trang không thay đổi, mặc dù kết quả thực hiện.
  3. Mở hai hoặc ba sản phẩm khác nhau. Lưu ý một lần nữa cách chúng có cấu trúc và bố cục chung, nhưng nội dung cho các sản phẩm khác nhau đã được lấy từ cơ sở dữ liệu.

Đối với một thuật ngữ tìm kiếm chung ("cá", giả sử), bạn có thể thấy hàng triệu giá trị được trả lại theo nghĩa đen. Sử dụng cơ sở dữ liệu cho phép những thứ này được lưu trữ và chia sẻ hiệu quả và nó cho phép trình bày thông tin được kiểm soát chỉ ở một nơi.

Trải nghiệm người dùng tùy chỉnh

Máy chủ có thể lưu trữ và sử dụng thông tin về khách hàng để cung cấp trải nghiệm người dùng thuận tiện và phù hợp. Ví dụ: nhiều trang web lưu trữ thẻ tín dụng để không phải nhập chi tiết. Các trang web như Google Maps có thể sử dụng các địa điểm đã lưu hoặc hiện tại để cung cấp thông tin định tuyến và lịch sử tìm kiếm hoặc du lịch để làm nổi bật các doanh nghiệp địa phương trong kết quả tìm kiếm.

Một phân tích sâu hơn về thói quen của người dùng có thể được sử dụng để dự đoán sở thích của họ và tùy chỉnh thêm các câu trả lời và thông báo, ví dụ như cung cấp danh sách các địa điểm được truy cập hoặc phổ biến trước đó mà bạn có thể muốn xem trên bản đồ.

Lưu ý: Google Maps lưu tìm kiếm và truy cập lịch sử của bạn. Các địa điểm thường xuyên được truy cập hoặc thường xuyên được tìm kiếm được đánh dấu nhiều hơn các địa điểm khác. Google Maps saves your search and visit history. Frequently visited or frequently searched locations are highlighted more than others.

Kết quả tìm kiếm của Google được tối ưu hóa dựa trên các tìm kiếm trước đó.

  1. Truy cập tìm kiếm trên Google.
  2. Tìm kiếm "bóng đá".
  3. Bây giờ hãy thử gõ "yêu thích" vào hộp tìm kiếm và quan sát các dự đoán tìm kiếm tự động hoàn chỉnh.

Trùng hợp? NADA!

Quyền truy cập được kiểm soát vào nội dung

Lập trình phía máy chủ cho phép các trang web hạn chế quyền truy cập cho người dùng được ủy quyền và chỉ phục vụ thông tin mà người dùng được phép xem.

Các ví dụ trong thế giới thực bao gồm các trang web mạng xã hội cho phép người dùng xác định ai có thể xem nội dung họ đăng lên trang web và nội dung xuất hiện trong nguồn cấp dữ liệu của họ.

Lưu ý: Xem xét các ví dụ thực khác trong đó quyền truy cập vào nội dung được kiểm soát. Ví dụ: bạn có thể thấy gì nếu bạn truy cập trang web trực tuyến cho ngân hàng của bạn? Đăng nhập vào tài khoản của bạn - bạn có thể xem và sửa đổi thông tin bổ sung nào? Bạn có thể thấy thông tin nào mà chỉ có ngân hàng mới có thể thay đổi? Consider other real examples where access to content is controlled. For example, what can you see if you go to the online site for your bank? Log in to your account — what additional information can you see and modify? What information can you see that only the bank can change?

Lưu trữ phiên/thông tin trạng thái

Lập trình phía máy chủ cho phép các nhà phát triển sử dụng các phiên-về cơ bản, một cơ chế cho phép máy chủ lưu trữ thông tin trên người dùng hiện tại của một trang web và gửi các phản hồi khác nhau dựa trên thông tin đó.sessions — basically, a mechanism that allows a server to store information on the current user of a site and send different responses based on that information.

Điều này cho phép, ví dụ, một trang web để biết rằng người dùng đã đăng nhập trước đó và hiển thị các liên kết đến email hoặc lịch sử đặt hàng của họ hoặc có thể lưu trạng thái của một trò chơi đơn giản để người dùng có thể truy cập lại trang web và tiếp tục ở đâu Họ đã để nó.

Lưu ý: Truy cập một trang web báo có mô hình đăng ký và mở một loạt các tab (ví dụ: tuổi). Tiếp tục truy cập trang web trong một vài giờ/ngày. Cuối cùng, bạn sẽ bắt đầu được chuyển hướng đến các trang giải thích cách đăng ký và bạn sẽ không thể truy cập các bài viết. Thông tin này là một ví dụ về thông tin phiên được lưu trữ trong cookie. Visit a newspaper site that has a subscription model and open a bunch of tabs (e.g. The Age). Continue to visit the site over a few hours/days. Eventually, you will start to be redirected to pages explaining how to subscribe, and you will be unable to access articles. This information is an example of session information stored in cookies.

Thông báo và giao tiếp

Máy chủ có thể gửi thông báo chung hoặc dành riêng cho người dùng thông qua chính trang web hoặc qua email, SMS, nhắn tin tức thời, trò chuyện video hoặc các dịch vụ truyền thông khác.

Một vài ví dụ bao gồm:

  • Facebook và Twitter gửi email và tin nhắn SMS để thông báo cho bạn về giao tiếp mới.
  • Amazon thường xuyên gửi e-mail sản phẩm gợi ý các sản phẩm tương tự như các sản phẩm đã mua hoặc xem mà bạn có thể quan tâm.
  • Một máy chủ web có thể gửi tin nhắn cảnh báo cho các quản trị viên trang web cảnh báo họ đến bộ nhớ thấp trên máy chủ hoặc hoạt động người dùng đáng ngờ.

Lưu ý: Loại thông báo phổ biến nhất là "xác nhận đăng ký". Chọn hầu hết mọi trang web lớn mà bạn quan tâm (Google, Amazon, Instagram, v.v.) và tạo một tài khoản mới bằng địa chỉ email của bạn. Bạn sẽ sớm nhận được một email xác nhận đăng ký của bạn hoặc yêu cầu xác nhận để kích hoạt tài khoản của bạn. The most common type of notification is a "confirmation of registration". Pick almost any large site that you are interested in (Google, Amazon, Instagram, etc.) and create a new account using your email address. You will shortly receive an email confirming your registration, or requiring acknowledgment to activate your account.

Phân tích dữ liệu

Một trang web có thể thu thập rất nhiều dữ liệu về người dùng: những gì họ tìm kiếm, những gì họ mua, những gì họ đề xuất, thời gian họ ở trên mỗi trang. Lập trình phía máy chủ có thể được sử dụng để tinh chỉnh các phản hồi dựa trên phân tích dữ liệu này.

Ví dụ: cả Amazon và Google đều quảng cáo các sản phẩm dựa trên các tìm kiếm (và mua hàng) trước đó.

Lưu ý: Nếu bạn là người dùng Facebook, hãy truy cập nguồn cấp dữ liệu chính của bạn và xem luồng bài đăng. Lưu ý làm thế nào một số bài viết nằm ngoài thứ tự số - đặc biệt, các bài đăng có nhiều "lượt thích" thường cao hơn trong danh sách so với các bài đăng gần đây hơn. If you're a Facebook user, go to your main feed and look at the stream of posts. Note how some of the posts are out of numerical order - in particular, posts with more "likes" are often higher on the list than more recent posts.

Ngoài ra, hãy xem loại quảng cáo bạn đang được hiển thị - bạn có thể thấy quảng cáo cho những thứ bạn đã xem trên các trang web khác. Thuật toán của Facebook để làm nổi bật nội dung và quảng cáo có thể là một chút bí ẩn, nhưng rõ ràng nó phụ thuộc vào thích và thói quen xem của bạn!

Bản tóm tắt

Xin chúc mừng, bạn đã kết thúc bài viết đầu tiên về lập trình phía máy chủ.

Bây giờ bạn đã học được rằng mã phía máy chủ được chạy trên máy chủ web và vai trò chính của nó là kiểm soát thông tin nào được gửi cho người dùng (trong khi mã phía máy khách chủ yếu xử lý cấu trúc và trình bày dữ liệu đó cho người dùng) .

Bạn cũng nên hiểu rằng nó hữu ích vì nó cho phép chúng tôi tạo các trang web cung cấp thông tin hiệu quả cho người dùng cá nhân và có ý tưởng tốt về một số điều bạn có thể làm khi bạn là lập trình viên phía máy chủ.

Cuối cùng, bạn nên hiểu rằng mã phía máy chủ có thể được viết bằng một số ngôn ngữ lập trình và bạn nên sử dụng khung web để làm cho toàn bộ quá trình dễ dàng hơn.

Trong một bài viết trong tương lai, chúng tôi sẽ giúp bạn chọn khung web tốt nhất cho trang web đầu tiên của bạn. Ở đây chúng tôi sẽ đưa bạn qua các tương tác máy khách chính của máy khách chỉ một chút chi tiết.

  • Tổng quan: Các bước đầu tiên
  • Tiếp theo

Trong mô -đun này

Máy chủ và máy khách trong HTML là gì?

Máy chủ gửi lại phản hồi chứa nội dung của tệp. (Trong trường hợp này, nội dung là HTML.) Máy khách (trình duyệt web của bạn) nhận được phản hồi đó và hiển thị HTML. (In this case, the content is HTML.) The client (your web browser) receives that response, and displays the HTML.

Là máy chủ HTML

Ngôn ngữ kịch bản phía máy khách liên quan đến các ngôn ngữ như HTML, CSS và JavaScript.Ngược lại, các ngôn ngữ lập trình như PHP, ASP.NET, Ruby, Coldfusion, Python, C#, Java, C ++, v.v.. In contrast, programming languages such as PHP, ASP.net, Ruby, ColdFusion, Python, C#, Java, C++, etc. Server-side scripting is useful in customizing the web pages and implement the dynamic changes in the websites.

HTML có chạy trên máy khách không?

HTML, CSS và JS thực sự được thực hiện ở phía máy khách..

HTML và máy chủ là gì

Kết xuất phía máy chủ (SSR) là khả năng của ứng dụng để chuyển đổi các tệp HTML trên máy chủ thành trang HTML được hiển thị đầy đủ cho máy khách.Trình duyệt web gửi yêu cầu thông tin từ máy chủ, ngay lập tức trả lời bằng cách gửi một trang được hiển thị đầy đủ cho máy khách.an application's ability to convert HTML files on the server into a fully rendered HTML page for the client. The web browser submits a request for information from the server, which instantly responds by sending a fully rendered page to the client.