TCP/IP là gì?

TCP/IP chính là thứ tạo nên kết nối cho giao thức HTTP.  Có thể hiểu HTTP là tầng ứng dụng TCP/IP.

IP cung cấp địa chỉ cho các thiết bị trong mạng.

TCP cung cấp kết nối, một khi hai thiết bị đã kết nối được với nhau thì thông tin trao đổi giữa hai bên sẽ không bị mất mát, làm giả hoặc nhận không đúng thứ tự.

Internet Stack:

Tầng (Layer)

Mô tả

Tầng ứng dụng (application layer)

HTTP. Ứng dụng các tầng dưới để thiết lập kết nối, trao đổi thông tin.

Tầng vận chuyển (transport layer)

TCP, kết nối, trao đổi thông tin.

Tầng Network (network layer)

IP, cung cấp địa chỉ IP

Tầng vật lý (physical layer)

Router, các thiết bị mạng...

Điều gì xảy ra khi bạn thiết lập một kết nối HTTP?

Trước khi Client và Server có thể trao đổi qua lại với nhau, cả hai phải thiết lập một kết nối TCP.

Kết nối TCP cần phài biết IP (địa chỉ), và Port (cổng) của máy đích. Nó giống như khi bạn check in sân bay vậy. Nếu bạn check in đi Hà Nội tại cửa số 7 của sân bay quốc tế Đà Nẵng. Bạn sẽ làm điều gì trong trường hợp trên? Đơn giản là bắt xe đến sân bay quốc tế Đà Nẵng (IP), tới cổng số 7 (Port), bạn sẽ được check in.

TCP cũng vậy, đầu tiên bạn cần địa chỉ IP của máy chủ cần kết nối và sau đó là port. Port giống như một cửa vào server, server có quyền mở cửa cho bạn kết nối hoặc không.
Nếu đúng địa chỉ, đúng cửa, kết nối thành công thì client và server có thể trao đổi thông tin với nhau.

Thông thường, một port chỉ cho phép một ứng dụng sử dụng. Do vậy nếu có hai ứng dụng cùng sử dụng một port sẽ rất dễ gây ra lỗi.

Cú pháp:

http://<IP/domain>:

Hoặc

https://<IP/domain>:

Ví dụ:

IP/Domain

Giải thích

127.0.0.1:3000

IP:127.0.0.1, Port: 3000

http://hocdai.com/

Khi gõ hocdai vào trình duyệt, nó sẽ đi qua máy chủ phân giải tên miền (DNS) lấy ra.
IP: 128.199.230.14, Port: 80 là port mặc định cho http.

https://www.facebook.com/

Khi gõ facebook vào trình duyệt, nó sẽ đi qua máy chủ phân giải tên miền (DNS) lấy ra:
IP: 31.13.95.36, Port: 443, là port mặc định cho https


Ví dụ: kết nối tới máy chủ http://hocdai.com/

Kết nối tới hocdai.com

  1. Trang web này sẽ được đi qua một máy chủ phân giải tên miền (DNS). cái tên hocdai.com sẽ được chuyển thành IP = 128.199.230.14, port mặc định cho http là cổng 80.
  2. Client thiết lập kết nối TCP đến 128.199.230.14:80.
  3. Client gởi HTTP message đến server.
  4. Server nhận yêu cầu của Client và gởi trả lời bằng một HTTP message.
  5. Client đóng kết nối đến server, và hiển thị kết quả.

Như vậy, bạn đã thiết lập kết nối với hocdai.com thành công qua cổng 80

Các môn học khác

Khóa học này cung cấp cho ta kiến thức nền tảng về công nghệ Blockchain, Bitcoin. Vì sao nó được gọi là công nghệ của tương lai, vì sao giá Bitcoin lại cao đến vậy. Làm sao để mua Bitcoin, ETH.

Docker là công nghệ ảo hóa container phổ biến nhất hiện nay. Nó giúp bạn phát triển và deploy phần mềm một cách dễ dàng hơn.

Chương trình thường được xây dựng quanh dữ liệu và logic để xử lý chúng. Nói cách khác: Program = Cấu trúc dữ liệu + giải thuật. Do vậy đây là môn học bắt buộc dành cho các lập trình viên.