7.1 Tiêu đề Keep-Alive

Và một vài tiêu đề hữu ích hơn. Tiêu đề Keep-Alive yêu cầu máy chủ giữ kết nối mở: máy chủ sẽ không đóng kết nối ngay sau khi gửi phản hồi. Điều này sẽ khiến yêu cầu tiếp theo từ cùng một máy khách đến máy chủ được hoàn thành nhanh hơn.

Một ví dụ về một tiêu đề như vậy:

Connection: Keep-Alive

Nhưng nếu tất cả các máy khách đều yêu cầu kết nối vĩnh viễn, thì sự cố sẽ bắt đầu ở máy chủ. Máy chủ sẽ không khả dụng hoặc bắt đầu tự đóng các kết nối.

7.2 Tiêu đề kiểm soát bộ đệm

Tiêu đề Kiểm soát bộ đệm có thể được sử dụng để kiểm soát bộ nhớ đệm nội dung. Bộ nhớ đệm được định cấu hình đúng sẽ tăng tốc độ làm việc với nội dung, bộ nhớ đệm được định cấu hình sai sẽ tạo ra sự cố bất ngờ.

Để tắt bộ nhớ đệm, bạn cần viết tiêu đề sau:

Cache-Control: no-cache, no-store, must-revalidate

Không có gì nên được lưu trữ trong bộ đệm - không phải từ yêu cầu của khách hàng cũng như từ phản hồi của máy chủ. Yêu cầu luôn được gửi đến máy chủ, phản hồi luôn được tải xuống hoàn toàn.

Bạn cũng có thể kích hoạt loại bộ nhớ đệm nguyên thủy và đáng tin cậy nhất :

Cache-Control: no-cache

Trước khi đưa ra một bản sao, bộ đệm sẽ truy vấn máy chủ gốc để xem liệu tài nguyên có được cập nhật hay không.

Bạn có thể chỉ định thời gian bộ đệm tài nguyên tính bằng giây . Tiêu đề sẽ trông như thế này:

Cache-Control: max-age=31536000

Tiêu đề này chỉ định thời gian bộ đệm tối đa cho nội dung.

Bạn có thể đọc thêm về bộ nhớ đệm ở đây.

7.3 Cookie

Máy chủ có thể lưu trữ dữ liệu ở phía máy khách . Dữ liệu như vậy được gọi là cookie . Tuy nhiên, khách hàng cũng có thể lưu trữ cookie. Họ rất hữu ích cho cả hai bên.

Ví dụ: bạn truy cập trang web và bạn đã được cấp quyền trên đó. Đó là, khi bạn đăng nhập lần trước, máy chủ đã ra lệnh cho trình duyệt lưu trữ thông tin về lần đăng nhập thành công của một người dùng nhất định.

Đây là giao diện của Cookie trong một yêu cầu:

Cookie: name=value;name2=value2;nameN=valueN00

Cookie thường được trình duyệt lưu trữ và chúng được gắn với một miền cụ thể . Khi bạn truy cập lại cùng một miền, cookie sẽ tự động được thêm vào yêu cầu http và phản hồi http. Máy chủ/miền không thể nhận cookie được lưu trữ trong trình duyệt bởi máy chủ/miền khác.

Mỗi cookie có 4 tham số chính:

  • Tên;
  • nghĩa;
  • thời hạn hiệu lực (thời gian lưu trữ chúng);
  • tên miền mà cookie được liên kết.

Cookie được lưu trữ và truyền ở dạng văn bản, vì vậy cả tên và giá trị đều là chuỗi. Nếu thời gian hết hạn cookie không được chỉ định, thì chúng sẽ bị hủy sau khi đóng trình duyệt.

phiên 7.4

Sau khi người dùng đã đăng nhập vào trang web, họ nói rằng một phiên đã được thiết lập giữa trang web và máy chủ.

Máy chủ tự tạo một đối tượng đặc biệt - HttpSession,nơi nó lưu trữ tất cả các thông tin cần thiết để làm việc với một máy khách được ủy quyền. Và số duy nhất của đối tượng này được lưu trữ trong trình duyệt dưới dạng Cookie.

Máy chủ web Java thường sử dụng tên JSESSIONIDđể lưu trữ ID phiên. Nó trông giống như thế này:

Cookie: JSESSIONID =ABAD1D

Về phía máy chủ, bạn có thể đặt thời gian tồn tại của phiên cũng như liệu phiên có tự động đóng khi đóng trình duyệt hay không.