Những điều bạn nên biết về giao thức HTTP/2

Thảo luận trong 'Thông tin công nghệ' bắt đầu bởi Duy Luân, 26/2/15. Trả lời: 45, Xem: 27716.

Chia sẻ

  1. Duy Luân

    Duy Luân Không có gì!

    Tham gia:
    16/2/08
    Được thích:
    243,054
    Best Answers:
    3
    Duy Luân
    VIP
    #1 Duy Luân, 26/2/15
    Sửa lần cuối: 30/3/15
    Đang tải Tinhte_HTTP_2_tim_hieu.jpg…

    Hypertext Transfer Protocol là một phương thức mà trình duyệt sử dụng để yêu cầu và nhận lại thông tin từ máy chủ nơi đặt trang web để rồi hiển thị nội dung cho chúng ta xem. Phiên bản HTTP mà chúng ta đang sử dụng ngày nay là HTTP/1.1 đã ra đời từ năm 1999, còn sắp tới đây nó sẽ được thay thế bởi một chuẩn mới hơn là HTTP/2. Bản cập nhật này hứa hẹn sẽ cải thiện cách trình duyệt và máy chủ giao tiếp với nhau, từ đó mang lại tốc độ truyền dữ liệu nhanh hơn trong khi giảm thiểu sức mạnh cần thiết để xử lý các yêu cầu truy cập.

    Sơ lược một chút về lịch sử của HTTP, đây là một giao thức dùng để trao đổi và chuyển tải các hypertext - là những đoạn kí tự có cấu trúc dùng để liên kết giữa nút này với nút khác của một hệ thống thông tin. Ví dụ của một hypertext đó là một đoạn văn bản, trong đó được nhúng các đường link để giúp bạn đi từ website này sang website khác. HTTP xuất hiện ở nhiều nơi nhưng nó được biết đến rộng rãi nhất là ở World Wide Web, chính là thế giới web mà chúng ta đang sử dụng hằng ngày.

    HTTP được chung tay phát triển bởi Hiệp hội kĩ thuật Internet (IETF) và Tổ chức World Wide Web (W3C). HTTP/1.1 ra đời vào tháng 6 năm 1999, cũng là phiên bản HTTP đang được sử dụng phổ biến tính đến thời điểm hiện tại. Đến tháng 2/2015, HTTP/2 hoàn tất giai đoạn phát triển nháp và đang chờ được xác nhận.

    Vì sao HTTP/2 lại quan trọng?

    Như đã nói ở trên, vì HTTP/1.1 được phát triển cách đây quá lâu nên nó bắt đầu bộc lộ những nhược điểm của sự "già cỗi" đó. Các trang web ngày nay không chỉ có những đoạn mã HTML đơn giản, ngoài ra nó còn được kết hợp với các công cụ dùng cho việc trang trí - thiết kế (CSS), các đoạn mã thực thi (JavaScript), hình ảnh, video, thậm chí là cả nội dung Flash nữa. Để truyền tải lượng dữ liệu đó, trình duyệt phải tạo ra nhiều kết nối đến máy chủ, mỗi kết nối chứa rất nhiều thông tin về nguồn lấy là ai, lấy ở đâu, lấy nội dung, lấy ra sao gì và rất nhiều thứ khác nữa. Tất cả những thứ này đã tạo ra một khối lượng công việc rất lớn lên trình duyệt trong máy tính (hoặc thiết bị di động) của chúng ta cũng như máy chủ nơi đặt trang web.

    Đang tải protocol_communication.png…
    Trình duyệt sẽ gửi các yêu cầu lấy nội dung (HTTP request) đến máy chủ, máy chủ sẽ phản hồi lại (HTTP response) với nội dung mà trình duyệt cần

    Các kết nối trên, kết hợp với sức mạnh xử lý cần để thiết lập, giải quyết yêu cầu thông tin cho mỗi kết nối, có thể làm cho việc tải trang web của chúng ta bị chậm đi rất nhiều. Website chứa càng nhiều thứ thì tình trạng này càng trở nên nghiêm trọng hơn. Với người dùng chúng ta, đòi hỏi tốc độ ngày càng tăng lên khi mà đường truyền Internet của chúng ta cũng tốt dần, thế nên chỉ vài giây trì hoãn khi tải trang web cũng có thể khiến ta bực bội. Còn với các doanh nghiệp, website tải chậm có nghĩa là mất tiền (hãy nghĩ đến các trang mua sắm trực tuyến, trang chậm thì chẳng ai mua mà người ta sẽ chuyển qua dùng dịch vụ của đối thủ). Nó cũng làm cho trải nghiệm người dùng trở nên kém đi rất nhiều.

    Người ta đã cố gắng tìm nhiều cách để tăng tốc Internet từ thời mà kết nối dial-up còn phổ biến chứ chưa có ADSL. Một trong những kĩ thuật phổ biến nhất đó là sử dụng bộ đệm (cache, động từ là caching). Với kĩ thuật này, một số nội dung sẽ được lưu sẵn trên thiết bị của người dùng, khi đó trình duyệt chỉ việc tải những phần nội dung mới thay vì phải tải lại mọi thứ từ đầu. Ngoài ra người ta còn nghĩ đến việc giảm dung lượng ảnh và video, một số khác thì dành nhiều thời gian để tối ưu hóa các đoạn mã nguồn để cắt giảm từng mili giây thời gian tải trang.

    Những thứ nói trên khá hữu ích, tuy nhiên nó cũng chỉ giống như một miếng băng gạc băng lại cho “đỡ đau” chứ không giải quyết được cội nguồn vấn đề. Thế nên Google và một số công ty khác mới quyết định sẽ làm mới lại HTTP/1.1 để rồi tạo ra SPDY (đọc là speedy), một công nghệ truyền tải mới nhằm thu được kết quả tốt hơn. Nhìn tổng quan, việc liên lạc giữa server và trình duyệt bằng SPDY nhanh hơn rất nhiều ngay cả khi các công cụ mã hóa được áp dụng. Ở mức thấp nhất, tốc độ truyền tải dữ liệu bằng SPDY có thể nhanh hơn khoảng 10%, và trong một số trường hợp khác thì có thể cải thiện đến 40%.

    Kết quả ấn tượng nói trên đã khiến nhóm kĩ sư Google quyết định phát triển một bộ giao thức mới dựa trên công nghệ SPDY, và đây là nguồn gốc bắt đầu của HTTP/2.

    Thêm thông tin về SPDY

    Giao thức là gì?

    HTTP nói chung hay HTTP/2 nói riêng là một giao thức. Bạn có thể nghĩ về cụm từ “giao thức” (protocol) như là một tập hợp các quy tắc dùng để chi phí cách dữ liệu được truyền từ một máy tính này đến máy tính khác, kể cả máy chủ cũng vậy. Mỗi giao thức sẽ khác nhau một chút, nhưng chung quy lại thì chúng sẽ tạo ra các gói dữ liệu bao gồm ba phần:

    Đang tải protocol.png…
    • Header: chứa các thông tin về địa chỉ xuất phát của gói, địa chỉ đích đến và vài thông tin phụ trợ như loại dữ liệu, dung lượng dữ liệu,...
    • Payload: chứa dữ liệu chính cần được truyền tải
    • Footer: chứa một số thông tin dùng để phát hiện và chỉnh sửa lỗi trong quá trình truyền gửi.
    Bạn có thể tưởng tượng giao thức giống như cách bạn gửi thư. Header là bao thư bên ngoài chứ tên và địa chỉ của người gửi, người nhận, có thể chú thích thêm là bạn gửi cái gì bên trong. Payload là bức thư thật sự bạn cần gửi, còn Footer giống như là một cái băng dính bạn dùng để dán kín phong bì. Nếu băng dính bị rách, bạn biết rằng nội dung bên trong có thể đã bị can thiệp và có vấn đề gì đó đã xảy ra.

    Một vài giao thức còn hỗ trợ một công nghệ gọi là “encapsulation” (đóng gói). Nó cho phép người ta bổ sung thêm các giao thức khác lồng vào bên trong phần payload của gói dữ liệu. Đây chính là cách mà HTTP nói riêng và các giao thức mạng khác truyền tải dữ liệu.

    Vì sao HTTP/2 lại tốt hơn?

    Nói ngắn gọn thì HTTP/2 giúp trang web tải lên nhanh hơn, tiết kiệm thời gian cho mọi người. Đơn giản vậy thôi.

    Trong ví dụ bên dưới là số liệu được đăng tải bởi trang HTTPWatch. Nó cho thấy thời gian truyền tải của trang web khi sử dụng HTTP/2 tăng thêm 20%, và điều đáng nói là máy chủ dùng cho việc thử nghiệm chưa hề được tối ưu hóa cho giao thức mới này. Nếu mọi thứ được tối ưu hóa theo thời gian thì chuyện cải thiện được 30% thời gian tải là chuyện bình thường.

    Đang tải https_page_load.png…
    Thời gian tải trang bằng HTTP/1.1

    Đang tải http2_page_load.png…
    Thời gian tải trang bằng HTTP/2

    HTTP/2 cải thiện tốc độ chủ yếu bằng cách tạo ra một kết nối liên tục giữa máy chủ và trình duyệt, thay vì thiết lập một kết nối mới mỗi lần trình duyệt cần thông tin gì đó. Cách thức này giảmđi đáng kể lượng thông tin được truyền tải. Ngoài ra, HTTP/2 còn truyền dữ liệu ở dạng nhị phân thay vì dạng văn bản như trước. Điều này có nghĩa là trình duyệt của bạn không phải tốn thời gian dịch văn bản sang một định dạng nào đó mà nó có thể hiểu được.

    Một vài kĩ thuật khác mà HTTP/2 sở hữu để tăng tốc bao gồm multiplexing (gửi nhận nhiều thông tin cùng lúc), prioritization (đánh thứ tự ưu tiên, dữ liệu quan trọng sẽ được gửi đi trước), compression (nén để thu nhỏ kích cỡ gói dữ liệu) và server push (máy chủ sẽ đoán yêu cầu dữ liệu kế tiếp mà bạn cần là gì để mà gửi trước thông tin cho đỡ tốn thời gian).

    Vậy khi nào thì chúng ta có thể thấy được lợi ích của HTTP/2?

    Hiện không có thời gian bắt đầu cụ thể cho việc triển khai sử dụng HTTP/2, và nhiều người có thể đang xài nó mà không biết. Bản cấu hình nháp của HTTP/2 được công bố hôm 11/2 sẽ hết hạn trong vòng 6 tháng tới (cụ thể là ngày 15/8). Trước đó, nó cần phải được xác nhận và chuyển thể thành một tài liệu (gọi là “RFC”) để giới lập trình viên trên thế giới có thể nghiên cứu và phát triển. Nếu không, một bản cấu hình nháp mới sẽ được ban hành với các thay đổi cần thiết.

    Ghi chú thêm rằng RFC là "Request For Comments”, có nghĩa là “yêu cầu nhận xét”, nhưng thực chất nó chính là tên mà tổ chức IETF dùng để gọi một tài liệu đã được hoàn chỉnh. Ngoài ra, RFC không phải là yêu cầu bắt buộc mà các trang web hay máy chủ buộc phải tuân theo, thay vào đó nó gợi ý rằng các vấn đề liên quan nên được thiết kế ra sao. Tất nhiên, để một giao thức có thể hoạt động được thì mọi người sẽ phải tuân theo những quy tắc chung nhất định.

    Đang tải HTTP_2_RFC.png…

    Hiện công nghệ HTTP/2 đã được tích hợp vào nhiều máy chủ và trình duyệt, ngay cả khi nó mới chỉ là bản nháp. Ví dụ, Microsoft đã đưa HTTP/2 vào Internet Explorer trong bản Windows 10 Technical Preview, Chrome thì đã hỗ trợ được một thời gian (mặc dù mặc định nó bị vô hiệu hóa), còn Firefox cũng không xa lại gì với giao thức mới này.

    Đang tải http2_about_config.png…

    Nếu chúng ta nói về khía cạnh máy chủ thì IIS (một giải pháp web server của Windows/Microsoft) sẽ hỗ trợ HTTP/2 trong Windows 10 sắp tới. Những giải pháp nổi tiếng khác như Apache hay Nginx cũng sẽ sớm có khả năng này (mặc dù hiện tại người ta đã có thể cài thêm các bộ mở rộng để xài SPDY). Điều này có nghĩa là không sớm thì muộn, tất cả chúng ta đều sẽ chuyển sang dùng HTTP/2. Và nhiều khả năng bạn cũng không hề nhận ra sự thay đổi đó trừ khi bạn có thói quen tính thời gian tải của các trang web. Mỗi ngày một chút, thời gian tải trang sẽ dần rút ngắn lại. Ngoài ra, vì bạn cũng chỉ thấy chữ “http” hay “https” trong thanh địa chỉ nên cuộc sống sẽ tiếp diễn như từ trước đến nay, nhưng sẽ nhanh hơn một chút.

    Tham khảo: IEFT, Engadget, SecurityNow, HTTPWatch
     

    Chia sẻ

    Chit Lee, boymafia1, gohomebaby6 người khác thích nội dung này.
    #1 Duy Luân, 26/2/15
    Sửa lần cuối: 30/3/15
  2. BlackCat_94

    Tham gia:
    13/11/09
    Được thích:
    1,086
    Best Answers:
    1
    BlackCat_94
    TÍCH CỰC
    không liên quan, nhưng đến bao giờ mới có IPV6 để dùng?
     
    1. britgaga

      Tham gia:
      12/5/10
      Được thích:
      890
      Best Answers:
      0
      britgaga
      TÍCH CỰC
      britgaga @A6_YoonA Bạn có thể cho mình biết NAT là gì được không?
       
    2. dqt.0410

      dqt.0410 Dự bị

      Tham gia:
      22/5/12
      Được thích:
      102
      Best Answers:
      0
      dqt.0410
      Trứng
      dqt.0410 @britgaga NAT là viết tắt của Network Address Translation, còn muốn biết rõ hơn thì hỏi giáo sư google
       
    3. vidia.vn

      vidia.vn Thành viên

      Tham gia:
      12/1/15
      Được thích:
      631
      Best Answers:
      0
      vidia.vn
      vidia.vn @BlackCat_94 hình như Viettel đang bắt đầu áp dụng đó bạn.
       
    4. vanson_k39c

      vanson_k39c Thành viên

      Tham gia:
      20/2/10
      Được thích:
      3
      Best Answers:
      0
      vanson_k39c
      vanson_k39c @mousemax nghe nói là trong hè năm nay :v
       
  3. Nguyễn Quốc Viễn

    Nguyễn Quốc Viễn Thành viên

    Tham gia:
    11/10/12
    Được thích:
    5
    Best Answers:
    0
    Nguyễn Quốc Viễn
    Nói ngắn gọn thì HTTP/2 giúp trang web tải lên nhanh hơn, tiết kiệm thời gian cho mọi người.
    Thích nhất câu ni.:D .
     
    1. A6_YoonA

      Tham gia:
      25/10/12
      Được thích:
      376
      Best Answers:
      0
      A6_YoonA
      TÍCH CỰC
      A6_YoonA @Nguyễn Quốc Viễn khi có 1 đường truyển có tốc độ đủ tốt
       
    2. bomduc

      Tham gia:
      6/11/12
      Được thích:
      5,809
      Best Answers:
      0
      bomduc
      VIP
      bomduc @Nguyễn Quốc Viễn Cũng chỉ quan tâm có thế
       
    3. Liberty04

      Liberty04 Dự bị

      Tham gia:
      12/5/15
      Được thích:
      1
      Best Answers:
      0
  4. vitunet

    Tham gia:
    17/6/06
    Được thích:
    298
    Best Answers:
    0
    vitunet
    TÍCH CỰC
    hi vọng chi phí thuê proxy SPDY thấp hơn CDN
     
  5. hiddentrust

    Tham gia:
    9/9/12
    Được thích:
    297
    Best Answers:
    0
    hiddentrust
    TÍCH CỰC
    Còn thánh nào dám nói "không có google cũng được, google chẳng có công lao gì trong việc phát triển internet" không?
     
    sharkie, onlinegame24hwillboy33 thích nội dung này.
  6. Tôi Là Ai ?

    Tham gia:
    1/9/14
    Được thích:
    142
    Best Answers:
    0
    Tôi Là Ai ?
    ĐẠI BÀNG
    Nếu không có kiến thức về web server thì đọc bài viết này sẽ rất khó hiểu.
     
    1. woozie

      woozie Thành viên

      Tham gia:
      2/12/12
      Được thích:
      53
      Best Answers:
      0
      woozie
      woozie @Tôi Là Ai ? bài viết diễn giải chi tiết, thực tế và rất dễ hiểu
       
    2. ngsangmt

      Tham gia:
      13/4/12
      Được thích:
      287
      Best Answers:
      0
      ngsangmt
      TÍCH CỰC
      ngsangmt @Tôi Là Ai ? Hên là mình đã từng là một tay viết code cho web chuyên nghiệp - mình chỉ chơi .ápx thôi (đã bỏ nghề được 7 năm roài).
       
    3. nguyensang88

      Tham gia:
      18/9/11
      Được thích:
      5
      Best Answers:
      0
      nguyensang88
      ĐẠI BÀNG
      nguyensang88 @ngsangmt giờ thì làm gì thế bác
       
    4. ngsangmt

      Tham gia:
      13/4/12
      Được thích:
      287
      Best Answers:
      0
      ngsangmt
      TÍCH CỰC
      ngsangmt @nguyensang88 Chuyển qua môi trường rồi bác, công việc mới ít hại não hơn! Làm một tay coder ngày ngồi trên máy tính 12 đến 14 tiếng liên tục, riết mắt mũi cận thị luôn!
       
  7. Now_or_never

    Tham gia:
    11/9/13
    Được thích:
    21
    Best Answers:
    0
  8. vinhokss

    Tham gia:
    10/1/10
    Được thích:
    544
    Best Answers:
    0
    vinhokss
    TÍCH CỰC
    nhớ xưa có đợt đăng kí web có dấu mà chả thấy nữa nhể
     
    1. Do Xuan Tuong

      Tham gia:
      23/9/13
      Được thích:
      472
      Best Answers:
      0
      Do Xuan Tuong
      TÍCH CỰC
      Do Xuan Tuong @vinhokss Có dấu càng khó cho người nước ngoài không có Unikey hay Vietkey để gõ. Không dấu vẫn tiện.
       
  9. metalica

    metalica Thành viên

    Tham gia:
    3/1/09
    Được thích:
    29
    Best Answers:
    0
    metalica
    Kết hợp HTML5 nữa là duyệt web càng nhanh.
     
  10. kaizvn

    Tham gia:
    12/8/07
    Được thích:
    2,285
    Best Answers:
    0
    kaizvn
    CAO CẤP
    trả lời không liên quan : cậu biết ipv6 để làm gì không?

    ko có kiến thức thì làm sao biết protocol là gì mà "dễ hiểu"?
     
    Andykool1810 thích nội dung này.
  11. Andykool1810

    Tham gia:
    21/3/10
    Được thích:
    649
    Best Answers:
    0
    Andykool1810
    TÍCH CỰC
    Uh thấy bạn nói mới đê ý . IPV6 thì là kiểu như số nhà chứ liên quan gì đâu nhỉ?
     
    kaizvn thích nội dung này.
  12. samwar

    samwar Thành viên

    Tham gia:
    3/12/08
    Được thích:
    36
    Best Answers:
    0
  13. hisang

    Tham gia:
    18/3/10
    Được thích:
    105
    Best Answers:
    0
    hisang
    ĐẠI BÀNG
    Một bài viết thể hiện sự amateur của người viết. Nếu là người không biết gì, đọc xong bài này sẽ thu thập được nhiều kiến thức chưa đúng, và nhầm lẫn
     
  14. Nhatcuong_mobile

    Nhatcuong_mobile Thành viên

    Tham gia:
    9/6/14
    Được thích:
    40
    Best Answers:
    0
    Nhatcuong_mobile
    Cách này dùng để load những thành phần thay đổi trên trang web thôi đúng không ạ. Các thành phần khác sẽ giữ nguyên như header và footer? Nếu như vậy các website không phải dùng script nữa. Em ngu muội mong các bác chỉ giáo.
     
    1. ngsangmt

      Tham gia:
      13/4/12
      Được thích:
      287
      Best Answers:
      0
      ngsangmt
      TÍCH CỰC
      ngsangmt @Nhatcuong_mobile Không phải bạn ơi, cái công nghệ bạn nói là ajax bạn à!
       
  15. ronaldomu

    Tham gia:
    19/12/09
    Được thích:
    589
    Best Answers:
    0
    ronaldomu
    TÍCH CỰC
    Không liên quan trực tiếp lắm nhưng không hiểu sao em vào tinh tế thì cái https nó bị gạch chéo :S Vì sao nhỉ?
     
    1. ngsangmt

      Tham gia:
      13/4/12
      Được thích:
      287
      Best Answers:
      0
      ngsangmt
      TÍCH CỰC
      ngsangmt @ronaldomu Cái https của tinhte chưa được chứng thực nên nó bị gạch chéo!
       
      ronaldomu thích nội dung này.
    2. Enddy123

      Enddy123 Dự bị

      Tham gia:
      7/2/13
      Được thích:
      0
      Best Answers:
      0
      Enddy123
      Trứng
      Enddy123 @ngsangmt Đó là trong Trang còn link http, hoặc ảnh link http.
       
  16. MeCloud.vn

    MeCloud.vn Dự bị

    Tham gia:
    18/5/15
    Được thích:
    0
    Best Answers:
    0
    MeCloud.vn
    Trứng
    Bài viết rất hay bác @Duy Luân ạ. Trước có đọc 1 bài về chủ đề này những hơi khó tiêu hóa vì cách giải thích của người viết, đến tay bác nó thật phổ thông.
     
  17. SilentAngel

    SilentAngel Thành viên

    Tham gia:
    5/12/14
    Được thích:
    292
    Best Answers:
    0
    SilentAngel
    Làm ơn, tinhte đừng viết bài về kỹ thuật nữa.
     
    1. Mr. d@ng

      Tham gia:
      29/7/08
      Được thích:
      155
      Best Answers:
      0
      Mr. d@ng
      ĐẠI BÀNG
      Mr. d@ng @SilentAngel Tại sao vậy bạn?
       
  18. Hoinhanong

    Tham gia:
    13/5/15
    Được thích:
    54
    Best Answers:
    0
    Hoinhanong
    ĐẠI BÀNG
    E ko rành nên thấy khó hiểu quá
     
  19. dtvietcare

    Tham gia:
    27/3/14
    Được thích:
    35
    Best Answers:
    0
    dtvietcare
    ĐẠI BÀNG
    nói chung là em cung ko hiểu mấy chỉ biết là dùng cái này thì sẽ tiết kiệm đc data đung ko
     
    1. Nhatcuong_mobile

      Nhatcuong_mobile Thành viên

      Tham gia:
      9/6/14
      Được thích:
      40
      Best Answers:
      0
      Nhatcuong_mobile
      Nhatcuong_mobile @dtvietcare Bác có cách nghĩ giống em thật. Chỉ load những phần cần thiết còn các phần khác sẽ giữ nguyên. Sắp tới sẽ thay đổi lớn trên trinhg duyệt.
       
    2. ngsangmt

      Tham gia:
      13/4/12
      Được thích:
      287
      Best Answers:
      0
      ngsangmt
      TÍCH CỰC
      ngsangmt @Nhatcuong_mobile Cũng không phải nốt. Dại ý nó là thế này: Với thằng HTTP/2 này thì: Trước kia nếu muốn lấy dữ liệu từ máy chủ thì máy người dùng phải gửi lệnh đến máy chủ xử lý và trả về kết quả theo yêu cầu nhưng nó chỉ gửi đến một máy chủ mà thôi! Còn với http2. thì nó có thể gửi cùng lúc đến 2 hay nhiều máy chủ khác nhau. Vídu: nếu yêu cầu của người dùng cần lấy hình ảnh và text thì nó sẽ gửi một yêu cầu đến một máy chủ chuyên xử lý hình ảnh, một yêu cầu đến máy chủ chuyên xử lý text riêng! Như vậy dữ liệu sẽ tải về cho người dùng từ 2 máy chủ riêng lẻ!
      - Cái nữa là với http2. thì dữ liệu giữa máy chủ với máy người dùng sẽ liên lạc liên tục mà không bị đức quãng như http1. thay gì phải ngồi đợi gửi yêu cầu đến máy chủ rồi đợi máy chủ xử lý rồi mới trả về kết quả cho người dùng!
      - Cái nữa là nó sẽ biết ưu tiên gửi cái nào về máy chủ trước, cái nào sẽ gửi sau chứ không như cái http.1 là gửi cùng lúc và đợi nhận về cùng lúc!
       
      tia_sang_ngay_mai thích nội dung này.
  20. firing

    firing Thành viên

    Tham gia:
    8/9/11
    Được thích:
    1
    Best Answers:
    0
    firing
    không phải dân t nên đọc không hiểu gì hết ...hik
     

Chia sẻ

Đang tải...