Web hoạt động như thế nào ?

I. Mô hình Client - Server.

Mô hình Client - Server đã quá quen thuộc trong lập trình web .

Nói đơn giản Client đại diện là các phần mềm kết nối mạng (Ví dụ như trình duyệt , app).

Server là một máy tình nhưng nó mạnh hơn máy tính thông thường rất nhiều. Server lưu trữ toàn bộ tài nguyên của một trang web hay ứng dụng.

Client gửi yêu cầu truy cập tài nguyên đến Server và Server phản hồi , Server sẽ gửi về một bản sao trang web cho Client.

=> Vậy làm sao để Client đọc được các nội dung này , đây là lúc trình truyệt web xuất hiện , hầu hết các trình duyệt web đều được tích hợp sẵn để đọc các ngôn ngữ như HTML , CSS , Javascript.
Khi được server gửi về nội dung (bao gồm các file HTML , CSS , JS..)

Nói sơ qua thì đơn giản như vậy như khi đi sâu vào cách thức hoạt động của Mô hình này có rất nhiều điều để nói.


II.Đi vào chi tiết quá trình hoạt động của mô hình C-S

Các thành phần chính

Để cho dễ hiểu chúng ta có thể hiểu
Server là một cửa hàng bạn muốn đến để mua mỳ tôm.

Client đại diện là một trình duyệt web (trong ví dụ này thì chính là bạn đó , bạn muốn tới cửa hàng để mua mỳ tôm)

Mạng internet : giúp bạn truyền vào nhận dữ liệu có thể hiểu nó gần giống một con đường.

TCP/IP : là tập hợp bộ giao thức quy định cách thức truyền tải dữ liệu qua mạng internet (trong ví dụ này nó giống như đôi chân hay xe cộ những thứ giúp bạn đến của hàng ).



Tên miền : Là tên của website trên mạng Internet nó đóng vai trò như một địa chỉ vật lý 
 được trỏ về địa chỉ của web server nên trình duyệt có thể gửi yêu cầu đến sever đó.


DNS : Hệ thống phân giải  tên miền là hệ thống cho phép dịch các tên miền (google.com , fb.com..đây chính là thứ bạn nhập vào thanh URL)
sang địa chỉ IP của server trên Internet (Ví dụ, www.vlxx.com dịch thành 211.773.1858.00.)
Thế tại sao chúng ta sinh ra tên miền làm gì để nguyên địa chỉ IP vật lý đi cho lành ??? 
=> Bời vì éo có ai nhớ được ngần ấy chữ số cả. (((: .. tên miền sinh ra để giúp chúng ta dễ nhớ và khẳng định nội dung của trang web đó.




HTTP : Là bộ giao thức dùng để giao tiếp giữa máy chủ và máy khách (khi bạn đến của hàng thì bạn cần phải nói chuyện với chủ cửa hàng chứ đúng không bạn cần sử dụng ngôn ngữ mà cả bạn lần chủ cửa hàng đều hiểu) .







Điều gì xảy ra khi bạn nhập 1 URL vào thanh URL ??


Ví dụ bạn nhập URL sau đây vào thanh : http://genk.vn/xoan-nao-dau-nam-voi-4-cau-do-do-nhan-vien-co-quan-an-ninh-quoc-gia-my-soan-ra-20190103112057137.chn.

Để hiểu được ví dụ này chúng ta cũng cần tìm hiểu về URL nữa : 

Khái niệm : Địa chỉ đầy đủ chỉ đến một tài nguyên trên Internet (tài nguyên này nằm trong các máy chủ) , ví dụ như bên trên kia.

Nó gồm 4 phần : 



http: Giao thức mạng bộ giao thức dùng để 2 thằng ôn con Client và Server giao tiếp với nhau (Ví dụ như bạn khai báo http thì thằng Client nó bảo ê đm thằng Server hôm nay tao với mày nói chuyện bằng http éo thích dùng https) (chúng ta có thể dùng rất nhiều bộ giao thức khác như FTP , HTTPS )


 thisIsUrl  =>  là tên của một website đóng vai trò là một địa chỉ vật hay còn gọi là tên miền
 (nó sẽ được DNS dịch ra => địa chỉ IP để tìm kiếm máy chù trên Internet bên trên mình có  nói rồi đấy


/home Phần này cho biết tài nguyên con nào của trang web được yêu cầu



?item=book  : chuỗi truy vấn



::88  : đây là cổng kết nối giữa bạn và server (dữ liệu chui qua cổng này đây này ((:  )
tại sao bạn không thấy trang web nào có cổng này ??? bởi vì ngầm định các trang web sử dụng cổng 80 để gửi dữ liệu nên url sẽ không hiện ra , trong trường hợp cổng 80 của bạn bị sử dụng mất rồi thì bạn phải thiết lập cho Client sẽ sử dụng cổng khác để Server và Client gửi dữ liệu cho nhau...trong trường hợp này là cổng 88 => Chính vì nó không phải cổng mặc định nên mới hiện lên URL 



Lan man mệt vcl )): ...đi vào phần chính nào nếu ta nhập URL vào thanh url điều gì sẽ xảy ra.
Nếu bạn hiểu được các thành phần bên trên rồi thì đơn giản vc luôn.




Đầu tiên :
*   Trình duyệt sẽ dựa vào tên domain để gửi yêu cầu truy cập đến địa chỉ IP mà domain này đang trỏ tới .

* Client bắt đầy gửi yêu cầu đến server thông qua HTTP Method  lúc này
Server ở đây là một cái máy tính nhưng nó mạnh hơn máy tính thông thường rất nhiều để có thể xử lý nhiều request một lúc.
Để xử lý các request này thì bạn cần dùng những ngôn ngữ lập trình phía server-side như node js , PHP , ASP.NET

 Server nhận được Request nói :  ok thằng Client kia mày thích gì nào

 thằng Client nói : đưa tài nguyên ở /home đây cho tao
(tức là server sẽ xác định thứ mà Client yêu cầu ở router (/home))

Server lúc này chạy đi tìm tài nguyên trong Database rồi gửi lại cho Client bằng Response.
Chú ý : Khi response cho client thì các định dạng về dữ liệu phải khớp với những gì request gửi lên trong header.













Nhận xét

Bài đăng phổ biến