Cho đến nay, tôi đã thấy câu trả lời đúng được ám chỉ nhiều lần, và hầu như mọi người đều e dè những gì tôi cho là chủ quan là dấu hiệu.
Hãy bắt đầu với những điều cơ bản:
Yêu cầu HTTP có thể là bất kỳ động từ HTTP nào , nhưng hai động từ mà mọi người sử dụng nhiều nhất là GET và POST. Đó là hai cách mà một lập trình viên sử dụng thường xuyên nhất. Tất cả những người khác đều có một số mục đích, nếu chúng được triển khai trên máy chủ. Khi bạn gửi thông tin đến máy chủ, bạn có thể làm như vậy thông qua việc sử dụng URL (để yêu cầu một trang) hoặc trong phần nội dung của yêu cầu (ví dụ: POST, PUT, DELETE).
Bây giờ bạn sẽ nhận xét (tôi chắc chắn) rằng URL trong yêu cầu GET thường chứa dữ liệu và điều này đúng, nhưng theo W3C, bạn không nên sử dụng GET để thay đổi trạng thái, nhưng chúng tôi vẫn thường làm vậy. Đó là một loại hack mà tất cả chúng ta đều đồng ý là sử dụng thực tế chứ không phải hack. Cho dù điều đó làm cho nó trở thành một cuộc tấn công hay một chi tiết triển khai thực tế, tôi sẽ để lại cho bạn.
Vì vậy, khi bạn gửi nội dung của POST (bỏ qua những phần khác bây giờ, bạn có thể tìm ra nó từ đây) với các phần tử biểu mẫu, bạn đang gửi lại một số phần tử nhất định. Cách xác định các phần tử đó là tùy thuộc vào bạn và môi trường bạn đang làm việc. Bạn có thể đăng lên máy chủ có phần tử JSON trong nội dung hoặc với XML hoặc với các trường biểu mẫu. Nói chung chúng ta làm bài đăng của một yếu tố MẪU trong cơ thể của HTML.
Bây giờ mọi người nói, "ồ, một bài đăng lại là một yêu cầu tiếp theo đối với một trang." Nhưng, điều đó không đúng. Postback là khi bạn gửi dữ liệu qua POST -> quay lại máy chủ. Tôi nói điều này bởi vì sự khác biệt giữa yêu cầu GET và yêu cầu POST là nếu dữ liệu được bao gồm trong nội dung (và động từ được sử dụng, nhưng khách hàng thường biết cách đối phó với điều đó). Bạn có thể đăng lại trang vào lần đầu tiên trang được truy cập và trên thực tế ASP.NET có các công cụ để làm điều đó trong thư viện. Bạn chắc chắn có thể có một ứng dụng khách trên máy tính để bàn ĐĂNG dữ liệu lên máy chủ (nghĩ là Twitter) mà không hiển thị bất kỳ trang web nào từ máy chủ (ok, vì vậy twitter có lẽ không phải là khái niệm tốt nhất để sử dụng cho một ví dụ ở đây, nhưng tôi muốn minh họa rằng bạn có thể sử dụng ứng dụng khách không hiển thị trang web, vì vậy không cần yêu cầu).
Vì vậy, thực sự những gì bạn nên đọc ở đó trong "postback" là "Tôi đang ĐĂNG dữ liệu LẠI về máy chủ để xử lý". Có thể giả định rằng ban đầu bạn truy xuất trang bằng GET để hiển thị cho người dùng <form>phần tử có <input>các trường để họ tương tác và cuối cùng bạn đang gửi dữ liệu trở lại. Nhưng tôi hy vọng bạn có thể thấy rằng nó không nhất thiết phải theo thứ tự đó.
Vì vậy, đây là một số điều khác cần xem xét:
Điều gì sẽ xảy ra nếu bạn cung cấp cho người dùng một trang với một loạt các chữ cái <input>và không <form>nhưng thay vào đó, có một nút được kết nối bằng javascript để nối tất cả những cái đó <input>với &value-n=và gửi chúng dưới dạng GET? Thực hiện điều tương tự, nhưng vi phạm khái niệm chỉ sử dụng GET cho các yêu cầu. (có khả năng) cuộc thảo luận tiếp theo khuyến khích tôi củng cố rằng GET không nên có tác dụng phụ (không có giá trị cập nhật)
Chẳng hạn như tại sao bạn có thể gửi cho ai đó một liên kết đến tìm kiếm trên google. Vì vậy chúng ta KHÔNG LUÔN phải ĐĂNG LẠI máy chủ để lấy dữ liệu.
Hi vọng điêu nay co ich. Chúc mừng