Hypertext Transfer Protocol
HTTP (Tiếng Anh: HyperText Transfer Protocol - Giao thức truyền tải siêu văn bản) là một giao thức lớp ứng dụng cho các hệ thống thông tin siêu phương tiện phân tán, cộng tác. HTTP là nền tảng của truyền thông dữ liệu cho World Wide Web, nơi siêu văn bản tài liệu bao gồm các siêu liên kết đến các tài nguyên khác mà người dùng có thể dễ dàng truy cập, ví dụ bằng một con chuột nhấp chuột hoặc bằng cách chạm vào màn hình trong một trình duyệt web.
HTTP Session
Session (phiên làm việc) là một khái niệm phổ biến được dùng trong lập trình web có kết nối với database. Đặc biệt các chức năng như đăng nhập, đăng xuất người dùng sẽ khó có thể thực hiện được nếu không sử dụng session. Ví dụ Email, giao dịch ngân hàng,...
HTTP Request methods
HTTP Request Method chỉ phương thức để được thực hiện trên nguồn được nhận diện bởi Request-URI đã cung cấp
- GET
GET được sử dụng để lấy lại thông tin từ Server đã cung cấp bởi sử dụng một URI đã cung cấp. Các yêu cầu sử dụng GET chỉ nhận dữ liệu và không có ảnh hưởng gì tới dữ liệu. - HEAD
Tương tự như GET, nhưng nó truyền tải dòng trạng thái và khu vực Header. - POST
Một yêu cầu POST được sử dụng để gửi dữ liệu tới Server, ví dụ, thông tin khách hàng, file tải lên, …, bởi sử dụng các mẫu HTML. - PUT
Thay đổi tất cả các đại diện hiện tại của nguồn mục tiêu với nội dung được tải lên. - DELETE
Gỡ bỏ tất cả các đại diện hiện tại của nguồn mục tiêu bởi URI. - CONNECT
Thiết lập một tunnel tới Server được xác định bởi URI đã cung cấp. - OPTIONS
Miêu tả các chức năng giao tiếp cho nguồn mục tiêu. - TRACE
Trình bày một vòng lặp kiểm tra thông báo song song với path tới nguồn mục tiêu.
HTTP Response
Khi nhận và phiên dịch một HTTP Request, Server sẽ gửi tín hiệu phản hồi là một HTTP Response bao gồm các thành phần sau:
- Một dòng trạng thái (Status-Line)
- Không hoặc nhiều hơn các trường Header (General|Response|Entity) được theo sau CRLF
- Một dòng trống chỉ dòng kết thúc của các trường Header
- Một phần thân thông báo tùy ý
HTTP/1.1 200 OK
Date: Mon, ngày 23 tháng 5 năm 2005 22:38:34 GMT
Content-Type: text/html; charset=UTF-8
Content-Encoding: UTF-8
Content-Length: 138
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux)
ETag: "3f80f-1b6-3e1cb03b"
Accept-Ranges: bytes
Connection: close
<html>
<head>
<title>An Example Page</title>
</head>
<body>
Hello World, this is a very simple HTML document.
</body>
</html>
HTTP Status Code
1XX: Mã thông tin (Info Status Code)
2XX: Mã thành công (Success Status Code)
3XX: Mã chuyển hướng (Redirect Status Code)
4XX: Mã lỗi Client (Client Error Status Code)
5XX: Mã lỗi Server (Server Error Status Code)