HTTP là gì?

+Mở đầu về modul2 học về web và giao thức http mình cũng đi tìm hiểu chút về các giao thức.

+Trước khi tới http mình lại phải quay lại tìm hiểu chút OSI.

+Mô hình kết nối các hệ thống OSI là mô hình căn bản về các tiến trình truyền thông, thiết lập các tiêu chuẩn kiến trúc mạng ở mức Quốc tế, là cơ sở chung để các hệ thống khác nhau có thể liên kết và truyền thông được với nhau.OSI là tổ chức các giao thức truyền thông thành 7 tầng, mỗi một tầng giải quyết một phần hẹp của tiến trình truyền thông, chia tiến trình truyền thông thành nhiều tầng và trong mỗi tầng có thể có nhiều giao thức khác nhau thực hiện các nhu cầu truyền thông cụ thể.
+Mô hình OSI tuân theo các nguyên tắc phân tầng như sau:Mô hình gồm N = 7 tầng. OSI là hệ thống mở, phải có khả năng kết nối với các hệ thống khác nhau, tương thích với các chuẩn OSI.Quá trình xử lý các ứng dụng được thực hiện trong các hệ thống mở, trong khi vẫn duy trì được các hoạt động kết nối giữa các hệ thống.Thiết lập kênh logic nhằm mục đích thực hiện việc trao đổi thông tin giữa các thực thể.
+Tầng và Chức năng chủ yếu
Giao thức
7 – Application
Giao tiếp người và môi trường mạng
Ứng dụng
6 – Presentation
Chuyển đổi cú pháp dữ liệu để đáp ứng yêu cầu truyền thông của các ứng dụng
Giao thức
Biến đổi mã
5 – Session
Quản lý các cuộc liên lạc giữa các thực thể bằng cách thiết lập, duy trì, đồng bộ hóa và hủy bỏ các phiên truyền thông giữa các ứng dụng
Giao thức phiên
4 – Transpost
Vận chuyển thông tin giữa các máy chủ (End to End). Kiểm soát lỗi và luồng dữ liệu
Giao thức
Giao vận
3 – Network
Thực hiện chọn đường và đảm bảo trao đổi thông tin trong liên mạng với công nghệ chuyển mạch thích hợp.
Giao thức mạng
2 – Data Link
Tạo/gỡ bỏ khung thông tin (Frames), kiểm soát luồng và kiểm soát lỗi.
Thủ tục kiểm soát
1 – Physical
Đảm bảo các yêu cầu truyền/nhận các chuỗi bit qua các phương tiện vật lý.
Giao diện DTE – DCE

+Quay lại với web sever ta đi tịm hiểu về giao thức liên mạng TCP/IP:

Bộ giao thức TCP/IP (Internet Protocol Suite) là bộ giao thức mà Internet và các mạng máy tính đang sử dụng và chạy trên đó. Nó gồm 2 giao thức chính là TCP (Transmission Control Protocol – Giao thức điều khiển giao vận) và IP (Internet Protocol – Giao thức liên mạng).

Bộ giao thức TCP/IP được coi là một tập hợp các tầng. Mỗi tầng giải quyết một tập các vấn đề liên quan đến việc truyền tải dữ liệu, và cung cấp cho các giao thức tầng cấp trên một dịch vụ được định nghĩa rõ ràng dựa trên việc sử dụng các dịch vụ của các tầng thấp hơn. Hay nói cách khác, các tầng trên gần với người dùng hơn và làm việc với dữ liệu trừu tượng hơn, chúng dựa vào các tầng cấp dưới để biến đổi dữ liệu thành các dạng mà cuối cùng có thể truyền đi một cách vật lý.

4 tầng của TCP/IP
—Tầng Ứng Dụng:
Đây là lớp giao tiếp trên cùng của mô hình. Đúng với tên gọi, tầng Ứng dụng đảm nhận vai trò giao tiếp dữ liệu giữa 2 máy khác nhau thông qua các dịch vụ mạng khác nhau (duyệt web, chat, gửi email, một số giao thức trao đổi dữ liệu: SMTP, SSH, FTP,…). Dữ liệu khi đến đây sẽ được định dạng theo kiểu Byte nối Byte, cùng với đó là các thông tin định tuyến giúp xác định đường đi đúng của một gói tin.
—Tầng này bao gồm tất cả các chương trình ứng dụng sử dụng các dịch vụ sẵn có thông qua một chồng giao thức TCP/IP như DHCP, DNS, HTTP, FTP, Telnet, SMTP, … Chúng sẽ tương tác với tầng vận chuyển để truyền hoặc nhận dữ liệu.
—Tầng Giao Vận:
Chức năng chính của tầng 3 là xử lý vấn đề giao tiếp giữa các máy chủ trong cùng một mạng hoặc khác mạng được kết nối với nhau thông qua bộ định tuyến. Tại đây dữ liệu sẽ được phân đoạn, mỗi đoạn sẽ không bằng nhau nhưng kích thước phải nhỏ hơn 64KB. Cấu trúc đầy đủ của một Segment lúc này là Header chứa thông tin điều khiển và sau đó là dữ liệu.
Trong tầng này còn bao gồm 2 giao thức cốt lõi là TCP và UDP. Trong đó, TCP đảm bảo chất lượng gói tin nhưng tiêu tốn thời gian khá lâu để kiểm tra đầy đủ thông tin từ thứ tự dữ liệu cho đến việc kiểm soát vấn đề tắc nghẽn lưu lượng dữ liệu. Trái với điều đó, UDP cho thấy tốc độ truyền tải nhanh hơn nhưng lại không đảm bảo được chất lượng dữ liệu được gửi đi.
—Tầng mạng:
IP (IPv4, IPv6).
Gần giống như tầng mạng của mô hình OSI. Tại đây, nó cũng được định nghĩa là một giao thức chịu trách nhiệm truyền tải dữ liệu một cách logic trong mạng. Các phân đoạn dữ liệu sẽ được đóng gói (Packets) với kích thước mỗi gói phù hợp với mạng chuyển mạch mà nó dùng để truyền dữ liệu. Lúc này, các gói tin được chèn thêm phần Header chứa thông tin của tầng mạng và tiếp tục được chuyển đến tầng tiếp theo. Các giao thức chính trong tầng là IP, ICMP và ARP.
—Tầng Liên kết:
Chịu trách nhiệm truyền dữ liệu giữa hai thiết bị trong cùng một mạng. Tại đây, các gói dữ liệu được đóng vào khung (gọi là Frame) và được định tuyến đi đến đích đã được chỉ định ban đầu.
Ethernet, Wifi, Token Ring, PPP, Frame Relay…

+Và cuối cùng ta đi tìm hiểu về giao thức HTTP.
HTTP – HyperText Transfer Protocol (Giao thức truyền siêu văn bản)

Giao thức này nằm trong tầng Application Layer, được sử dụng để truyền nội dung trang Web từ Web Server đến trình duyệt Web ở Client. Là giao thức Client/Server dùng cho Internet – World Wide Web, HTTP thuộc tầng ứng dụng của bộ giao thức TCP/IP (Các giao thức nền tảng cho Internet). Cơ chế hoạt động chính của HTTP là Request-Response: Web Client sẽ gửi Request đến Web Server, Web Server xử lý và trả về Response cho Web Client.

+Lịch sử:
Phiên bản hoàn chỉnh đầu tiên của HTTP là HTTP 0.9 (Ra đời năm 1991), Tiếp theo là HTTP 1.0 (Giới thiệu chính thức năm 1996), HTTP 1.1 (1997) và mới đây nhất là HTTP 2.0. Các phiên bản sau ra đời nhằm thay thế phiên bản trước, kế thừa những chức năng cốt lõi của phiên bản trước nhưng có nhiều cải tiến và bổ sung. Hiện nay thì HTTP 2.0 chưa được dùng phổ biến do còn khá mới và do các doanh nghiệp Web cũng phần nào ngại chuyển đổi. Do vậy, HTTP 1.1 vẫn là giao thức HTTP phổ biến nhất. HTTP 1.0 vẫn còn được sử dụng nhiều trong hệ thống Proxy và một số ứng dụng cũ (wget). ==(Để tìm hiểu vì sao HTTP 1.0 vẫn còn được dùng nhiều trong các hệ thống Proxy thì ta phải nắm HTTP 1.0 và HTTP 1.1 cache dữ liệu như thế nào?)==
+Request Method phổ dụng của HTTP:
• GET
• HEAD
• POST
• PUT
• DELETE
• TRACE
• OPTIONS
• CONNECT
• PATCH
Ngoài Method, URI (Địa chỉ định danh của tài nguyên), HTTP Version thì trong Request Header có một số trường thông dụng sau:
• Accept: loại nội dung có thể nhận được từ thông điệp response. Ví dụ: text/plain, text/html…
• Accept-Encoding: các kiểu nén được chấp nhận. Ví dụ: gzip, deflate, xz, exi…
• Connection: tùy chọn điều khiển cho kết nối hiện thời. Ví dụ: keep-alive, Upgrade…
• Cookie: thông tin HTTP Cookie từ server.
• User-Agent: thông tin về user agent của người dùng.

+Phân biệt GET và POST
Hai phương thức được sử dụng nhiều nhất trong HTTP request là GET và POST
Với GET, câu truy vấn sẽ được đính kèm vào đường dẫn của HTTP request. Ví dụ: /?username=”abc”&password=”def”
Một số đặc điểm của phương thức GET:
• GET request có thể được cached, bookmark và lưu trong lịch sử của trình duyệt.
• GET request bị giới hạn về chiều dài, do chiều dài của URL là có hạn.
• GET request không nên dùng với dữ liệu quan trọng, chỉ dùng để nhận dữ liệu.
Ngược lại, với POST thì câu truy vấn sẽ được gửi trong phần message body của HTTP request, một số đặc điểm của POST như:
• POST không thể cached, bookmark hay lưu trong lịch sử trình duyệt.
• POST không bị giới hạn về độ dài.

+Đặc điểm của HTTP
• Stateless Protocol – Phi trạng thái là một giao thức giao tiếp mà mỗi request được xem là một phiên giao dịch độc lập (nghĩa là nó không lưu giữ bất kỳ thông tin nào liên quan đến các request trước đó cũng như các phiên làm việc trước)

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar

Facebook