Tôi không thực sự hiểu về Bac Bac / Serverside, khi nói đến phát triển web?


18

Trong thế giới phát triển Web, chính xác các lập trình viên phụ trợ / máy chủ làm gì? Tôi đoán tôi không thực sự hiểu toàn bộ khái niệm.

Tôi đã thực hiện các bố cục HTML / CSS và thiết kế trang web và một chút SQL với PHP (vẫn nâng cao các kỹ năng của tôi, đó là một dự án phụ đối với tôi). Tôi cũng đã thực hiện một lượng nhỏ JavaScript / JQuery.

Nhưng tôi không hiểu công việc "phụ trợ", chẳng hạn như các ngôn ngữ kịch bản (Rails / Python / etc) và như vậy. Chính xác thì bạn "làm gì" với họ?


8
Bạn nghĩ Qs và As của trang này đang đi đâu và như thế nào?
Mayank

Câu trả lời:


17

Nếu bạn đã sử dụng PHP, thì bạn đã hoàn thành công việc phía máy chủ!

Theo thuật ngữ của giáo dân, mã phía máy khách được chạy trên máy tính của bạn, trong trình duyệt Web của bạn và mã phía máy chủ được chạy trên máy tính trên Internet và kết quả tính toán phía máy chủ được gửi qua Internet tới bạn trình duyệt.

Khi bạn viết mã PHP chạy các câu lệnh SQL, các cuộc gọi SQL được thực hiện trên máy tính từ xa (máy chủ) và kết quả đó - thường ở dạng HTML được tạo - sau đó được gửi qua Internet tới trình duyệt.

JavaScript, mặt khác, được chạy trong trình duyệt của bạn. CSS cũng vậy.

Thủ tục thanh toán sự khác biệt giữa phía máy khách và lập trình phía máy chủ để biết thêm thông tin.


13

Tiền đề cơ bản là:

nhập mô tả hình ảnh ở đây

Người dùng đưa ra đầu vào của mình, gửi nó qua một loại mạng nào đó và máy chủ sau đó thực hiện phép thuật theo đầu vào.

Về cơ bản, bạn muốn tất cả bảo mật và xác nhận được thực hiện phía máy chủ. Với các niceties chạy phía máy khách, như xác thực mẫu không phô trương (mặc dù vậy bạn vẫn cần xác thực phía máy chủ!).

Câu hỏi lớn: Tại sao?

Người dùng có thể sửa đổi thông tin trên máy của họ. Như một ví dụ, hãy xem các huấn luyện viên trò chơi sửa đổi các giá trị bộ nhớ để cho phép người dùng 'hack' trò chơi. Nếu bạn làm những điều cốt lõi trên máy của bạn, trên cơ sở vật lý của bạn, bạn sẽ giảm đáng kể khả năng ai đó can thiệp vào kiểm tra bảo mật của bạn.


6
Bạn đã không sử dụng vòng tròn tự do. :(
glasnt

Ok, điểm chính xác của Khung ứng dụng Web là gì?

3
@Mercfh: Để đơn giản hóa. Họ cung cấp cho bạn nền tảng để xây dựng tầm nhìn của bạn. Bạn có muốn xây dựng một khung xác thực? Làm thế nào về một để xử lý ngày và quan điểm và bộ điều khiển và định tuyến. Tôi không nghĩ vậy trừ khi đó là một bài tập học thuật. Bạn muốn có một khung vì ban đầu bạn có một vấn đề cần giải quyết và việc xử lý ngày không phải là nó. :)

0

bạn thiết kế công cụ Front end khi bạn thiết kế các hệ thống tương tác với máy khách của hệ thống của bạn. Lưu ý ở đây, ứng dụng khách khá lớn nhưng về cơ bản có nghĩa là bạn đang làm việc ở mặt trước khi bạn đang cung cấp giao diện cho thế giới bên ngoài.

Hầu hết các trang web chỉ là giao diện người dùng, đó là họ cung cấp thông tin cho thế giới bên ngoài và hầu hết các thông tin này có thể được lưu trữ khá đơn giản dưới dạng văn bản trong các tệp HTML.

Bạn thiết kế back end khi bạn cần cung cấp dịch vụ và đóng gói chức năng mà giao diện người dùng của bạn sẽ tiêu thụ. Điều này cho phép thay thế một số khối lượng công việc từ máy khách (front-end) đến máy chủ (back-end). Bạn sẽ làm điều này trong các trường hợp khi bạn cần phối hợp thông tin từ các khách hàng khác nhau có thể truy cập hệ thống của bạn đồng thời. Hoặc nếu bạn cần sử dụng kho lưu trữ dữ liệu trung tâm để đối chiếu dữ liệu động hoặc một lần nữa nếu bạn cần một số yêu cầu bảo mật cụ thể. Danh sách này không có nghĩa là đầy đủ, chỉ là ví dụ nhanh chóng.

Vì vậy, để ngắn gọn, Front-end (client) sẽ trình bày thông tin ra thế giới bên ngoài. Thông thường đây là con người thông qua một số loại GUI hoặc HTML hoặc cách khác.

Back end sẽ cung cấp phương tiện để tập trung hóa các dịch vụ cho giao diện người dùng của bạn sử dụng. Sử dụng back-end là không bắt buộc và làm tăng thêm độ phức tạp cho hệ thống, nhưng nó cho phép quản lý tốt hơn sự phức tạp vốn có của hệ thống mà bạn đang cố gắng xây dựng.

Ví dụ, có thể cung cấp một dịch vụ như wiki chỉ thông qua giao diện người dùng nhưng sẽ có nhiều hạn chế khi sử dụng back-end để lưu trữ dữ liệu và phục vụ cho giao diện người dùng sẽ giải quyết theo cách tự nhiên hơn.


Giải thích của bạn là tuyệt vời ngoại trừ việc bạn nói rằng hầu hết các trang web chỉ là giao diện người dùng. Có lẽ vào năm 2003, nhưng ngày nay tôi đã nói rằng "hầu hết", như trong phần lớn, có một số tương tác back-end / cơ sở dữ liệu.
Kyle

Nhìn vào SO, Facebook và al của thế giới này, người ta sẽ đưa trang web tĩnh vào bảo tàng nhưng vẫn có một số lượng lớn các trang web, trang nhất cho các công ty, v.v. Điều đó nói rằng bạn đã đúng rằng nó có xu hướng giảm đi khá nhiều vì chỉ cần cài đặt wordpress và tinh chỉnh CSS một chút sẽ đạt được kết quả tương tự trong một hình thức dễ dàng hơn nhiều để duy trì. Lưu ý rằng Front end cũng chỉ định API RESTfull mà trang web của bạn hiển thị trong khi phụ trợ là cách API này được triển khai.
Newtopian

0

Giao diện người dùng là những thứ chạy trong trình duyệt, phần phụ trợ như PHP chạy trên máy chủ và lưu trữ dữ liệu trong cơ sở dữ liệu và thực hiện loại công cụ đó.


0

Theo ý kiến ​​của tôi, công việc phía máy chủ (mà nó đã được đề cập là bất cứ thứ gì chạy trên máy chủ mà trang web đang được truy cập từ đó) là những gì mang lại cho một trang web thực sự. Phần lớn các chức năng vẫn có thể đạt được bằng cách sử dụng các công nghệ phía máy khách, nhưng theo tôi đây là một cách tiếp cận phức tạp hơn nhiều và kém an toàn hơn khi khách hàng có quyền truy cập vào mọi thứ nằm trong mã phía máy khách. PHP và ASP theo cách mà các ngôn ngữ lập trình lai hầu như chỉ nhằm phục vụ nội dung trang web cho trình duyệt sau khi thực hiện một số hoạt động tính toán. Khi bạn bắt đầu làm việc với python, ruby, java hoặc các ngôn ngữ lập trình khác, bạn có nhiều sức mạnh và khả năng hơn nhưng cần thêm một chút công việc để gửi thông tin kết quả đến máy khách khi kết thúc quá trình.


0

Có hai mặt của bất kỳ ứng dụng web / trang web điển hình nào.

  1. Mặt trước - Điều khiển nào là ui / layout / colors / font, v.v.

  2. Mặt sau - Xử lý dữ liệu trong cơ sở dữ liệu hoặc thao tác tệp, thực hiện nhiều logic, nếu điều này, hãy làm điều đó, nếu không làm điều này, v.v. Tích hợp với phần mềm máy chủ web như Apache / IIS / etc và máy chủ cơ sở dữ liệu phần mềm như máy chủ myQuery / PostreSQL / MS SQL.

Mặt sau là mặt mạnh hơn nhiều, bởi vì nó có thể làm rất nhiều thứ, từ việc tạo tệp excel, tạo báo cáo, thực hiện tính toán, nhận dữ liệu từ các máy chủ khác nhau.

Sau đó, nó chuẩn bị và hiển thị dữ liệu đó, cách Front Side được thiết lập.

Để làm tốt trong một trong hai là công việc khó khăn, nhiều thực hành, học tập và kỷ luật tự giác.

Nếu bạn muốn trở thành người giỏi nhất, hãy thực hành và không bao giờ ngừng học hỏi và đừng bao giờ cho rằng bạn biết tất cả các câu trả lời.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.