Vậy các trang web hoạt động như thế nào?
Bây giờ tôi có toàn bộ khóa học phát triển web, vì đây là khóa học về python, chúng tôi
sẽ không đi sâu vào chủ đề này.
Thay vào đó, chúng tôi sẽ tập trung vào khía cạnh Python của mọi thứ.
Nhưng tôi muốn giúp bạn hiểu những gì chúng tôi đang xây dựng và mọi thứ hoạt động như thế nào, bởi vì hy vọng vào cuối khóa
học này, bạn có thể thực sự thay đổi danh mục đầu tư của mình, cập nhật danh mục đầu tư theo sở thích của
riêng bạn và giới thiệu các dự án chúng tôi đã xây dựng trong suốt khóa học.
Vì vậy, tôi có một trang web cho bạn ở đây.
Chúng tôi có xkcd, đây chỉ là một trang web truyện tranh vui nhộn.
Nếu tôi nhấp vào làm mới ở đây hoặc nhập URL này, tôi sẽ được đưa đến trang web này.
Nhưng điều này thực sự hoạt động như thế nào?
Làm cách nào để trình duyệt của tôi trong trường hợp này là Google Chrome, có thể hiển thị trang web này cho tôi?
Tôi cần được kết nối với Internet, phải không?
Vì vậy, có một số loại dữ liệu đang được chuyển để tôi có thể nhìn thấy điều này.
Vì vậy, chúng ta hãy khám phá cách thức hoạt động của nó.
Và nhìn vào đó.
Tôi đã tạo một sơ đồ nhỏ đẹp cho bạn.
Và trong sơ đồ này, tôi sẽ cố gắng chỉ cho bạn biết chính xác cách nó hoạt động.
Nó khá đơn giản.
Chúng tôi có trình duyệt của mình ngay tại đây, có thể là Google Chrome, có thể là Safari, có thể là Firefox, điều đó
không quan trọng.
Trình duyệt này, chúng tôi có thể nhập vào đó một trang web hoặc có thể Google để tìm một trang web và sau đó nhấp vào một
trang web.
Khi chúng ta nhấp vào một trang web, điều xảy ra là thông qua internet, trình duyệt thực hiện một yêu cầu
đến một máy khác.
Và chiếc máy này, chúng tôi gọi là máy chủ, được đặt ở bất kỳ đâu trên thế giới.
Nó không thực sự quan trọng bởi vì thông qua mạng Internet của chúng tôi, trình duyệt sẽ nói, Này, trang
web này, ai sở hữu trang web đó?
Hoặc Máy nào có thể cung cấp cho tôi các tệp cho trang web đó?
Và bằng cách sử dụng một số logic phức tạp, nó sẽ tìm thấy máy chủ này mà cuối cùng nó chỉ là một máy tính và chúng tôi
thực sự sẽ cho bạn thấy và triển khai máy chủ của riêng chúng tôi.
Nó chỉ đơn giản nói rằng, này, hãy cho tôi một số dữ liệu, bởi vì không có dữ liệu, tôi không thể hiển thị bất cứ thứ gì trên
một trang Web.
Và máy chủ.
Trước hết, chúng giao tiếp qua một thứ gọi là HTTP và https vì trình duyệt và máy
chủ là hai máy khác nhau.
Đúng.
Trình duyệt hiện có trên máy tính xách tay của tôi.
Và máy, là một máy chủ.
Nó có thể ở bất cứ đâu trên thế giới.
Họ cần giao tiếp theo một cách nào đó.
Và chúng tôi cần một quy tắc để nói, bạn biết đấy, chúng tôi không muốn tất cả những cỗ máy này nói chuyện với nhau mà không có quy
tắc nào được áp dụng.
Ví dụ: chúng ta có thể đồng ý rằng khi chúng ta giao tiếp giữa bạn và tôi, tôi sẽ nói bằng tiếng Anh
theo cùng một cách.
HTTP và https, là phiên bản giao tiếp được mã hóa bảo mật, cho phép tôi nói, Này, bạn có thể cung cấp cho tôi dữ
liệu và máy chủ để tôi hiểu được không?
Ồ.
Trang web này hoặc trình duyệt này cần dữ liệu mà tôi có.
Nếu tôi quay lại trang web này ở đây.
Bạn thấy rằng tôi đang sử dụng HTTPS và thông báo rằng tôi muốn sử dụng giao thức HTTPS.
Đó là ngôn ngữ để giao tiếp điều đó.
Tôi muốn vào trang web này.
Vì vậy, ngay sau khi tôi nhấn Enter, nó sẽ thực hiện yêu cầu đó đến một máy chủ ở đâu đó và
sau đó máy chủ sẽ phản hồi với dữ liệu này.
Hãy tiếp tục với sơ đồ của chúng tôi.
Vì vậy, yêu cầu vừa được thực hiện.
Máy chủ này chỉ có ba tệp mà chúng tôi cần.
Một là tệp HTML và tệp này là văn bản hoặc nội dung của trang web.
Cái còn lại là tệp CSS và nó chứa tất cả kiểu dáng của trang web.
Vì vậy, đó là màu sắc, có thể là một số phông chữ, có thể là vị trí của các yếu tố, bất cứ điều gì liên quan đến phong cách.
Vì vậy, nó không giống như một đoạn văn bản nhàm chán.
Và sau đó chúng tôi có một JavaScript.
JavaScript là thứ mang lại hành vi cho các trang web.
Khi tôi đăng nhập Facebook hoặc có thể tweet điều gì đó trên Twitter, JavaScript cho phép tôi thực
hiện những hành động đó vì chỉ với HTML và CSS, chúng tôi chỉ có văn bản và một số kiểu dáng đẹp.
Với JavaScript, chúng ta có thể thực hiện các hành động, nhưng chúng ta không cần phải tập trung vào điều đó quá nhiều.
Tất cả những gì chúng ta cần biết là máy chủ, bởi vì nó là một máy tính trên các tệp của nó, có ba tệp này cho
chúng ta.
Và ba tệp này, điều gì xảy ra được gửi đến trình duyệt bởi vì trình duyệt thực sự rất tốt bụng và hỏi, Này, bạn
có thể cho tôi dữ liệu được không?
Và máy chủ nói, Chắc chắn rồi, nó đây và gửi cho chúng tôi ba tệp này và ba tệp này.
Khi chúng được gửi lại, trình duyệt sẽ hiểu chúng.
Và bởi vì nó hiểu chúng, mặc dù đối với chúng tôi, nó có thể trông giống như vô nghĩa, nó vẫn có thể hiển
thị trang web đó cho chúng tôi.
Nhưng hãy để tôi hỏi bạn một câu hỏi.
Cho đến giờ, tôi vẫn chưa thực sự nói về Python.
Tôi nghĩ đây là một khóa học Python.
Andre, bạn đang nói với tôi tất cả những thứ mà tôi không quan tâm này ở đâu?
Chà, bởi vì ở đây, có một đoạn thực sự có thể được viết bằng Python.
Bạn có đoán được đó là gì không?
Nếu bạn đoán máy chủ.
Xin chúc mừng.
Bạn nhận được 5000 điểm.
Bạn thấy đấy, trình duyệt là một thứ tốt, nó là một ứng dụng chúng ta tải xuống trên máy tính của mình.
Đúng.
Nhưng cho đến nay, máy chủ là một chiếc hộp bí ẩn, một cỗ máy, một máy tính ở đâu đó.
Nhưng các lập trình viên Python thực sự có thể viết logic và các quy tắc mà máy chủ có thể hoạt động.
Vì vậy, tất cả thông tin liên lạc này, Này, bạn có thể cho tôi dữ liệu có thể được diễn giải bằng Python và
sau đó gửi dữ liệu này đến trình duyệt bằng Python.
Và chúng tôi sẽ xây dựng máy chủ của riêng mình cho một vài video tiếp theo, nhưng cũng phải tiếp xúc với các tệp HTML, CSS và
JavaScript này để chúng tôi thực sự có thể hiển thị một cái gì đó giống như một trang web.
Bây giờ tôi muốn kết thúc video này bằng một câu hỏi.
Bạn có nghĩ rằng máy chủ này phải được viết bằng Python không?
Bạn nghĩ sao?
Không, nó không.
Đúng?
Trình duyệt không quan tâm máy này như thế nào.
Tất cả những gì nó quan tâm là ba tệp này.
Và bởi vì chúng tôi đang nói trong giao thức http https này.
Trình duyệt nói, Này, tôi không quan tâm bạn nói ngôn ngữ gì, tôi không quan tâm bất cứ điều gì.
Tôi sẽ nói với bạn thông qua https này, chỉ cần cung cấp cho tôi dữ liệu mà tôi muốn và chúng tôi có thể thực hiện bất kỳ logic
nào chúng tôi muốn tại đây.
Tôi có thể gửi email từ đây nếu tôi muốn.
Tôi có thể gửi tin nhắn văn bản, tôi có thể làm các phép toán.
Tôi có thể chơi trò chơi trên máy tính này nếu tôi muốn.
Nó không thực sự quan trọng miễn là tôi có thể gửi các tệp này trở lại trình duyệt.
Vì vậy, chúng ta có thể làm điều đó với Python.
Nhưng chúng ta có thể làm điều đó với các ngôn ngữ khác như Node, như PHP, như Java, vì vậy chúng ta có thể viết một máy chủ bằng bất
kỳ loại ngôn ngữ nào.
Điều duy nhất chúng tôi thực sự có thể làm là ở phía trình duyệt.
Về phía trình duyệt, chúng tôi phải sử dụng ba tệp này vì tốt, ít nhất là về mặt chung, nó
chỉ có thể hiểu được JavaScript, là một ngôn ngữ lập trình khác.
Được rồi, chúng ta hãy khám phá chủ đề này nhiều hơn một chút trong video tiếp theo.