Session Tracking

    Session Tracking
    Khái niệm: Là một (Stateless) giao thức có nghĩa là mỗi lần khách hàng vào
     một trang web, khách hàng sẽ mở ra một liên kết riêng biệt cho các máy chủ
     web và máy chủ tự động không giũ bất kì số liệu nào trong yêu cầu của khách
     hàng trước đó.
    • Mô tả bản chất phi trạng thái của giao thức HTTP.
    • Giải thích sự cần thiết của việc theo dõi khách hàng và nhà nước.
    • Giải thích các phương thức URL rewriting của giao thức.
    • Giải thích làm thế nào để sử dụng các trường và biểu mẫu.
    • Giải thích việc sử dụng các lớp Côkie và phương pháp của nó.
    • giải thích làm thế nào để lưu trữ và lấy đc thông tin trong một phiên gao dịch.
    • Mô tả việc sử dụng các giao diện HTTP session và phương pháp của nó.
    • Giải thích làm thế nào để làm mất hiệu lực của session.

    Vấn đề:
    Khi một khách hàng thực hiện mua sắm trực tuyến, khách hàng có thể chọn
     các mục từ các trang khác nhau và bỏ vào giỏ hàng. Khi khách hàng click 
     vào mmột trang mới, thông tin về các mục đã chọn trước đó bị mất do HTTP
     là một giao thức không stateless.
    Giải pháp khắc phục: dùng Session Tracking.
    • Nó cho phép các ứng dụng web duy trì thông tin với máy chủ miễn
       là khách hàng không đăng xuất khỏi website.
    • Nó theo dõi các hoatj động của khách hàng và thông tin trạng thái
      khách cần thiết trong suốt phiên mua sắm.


    Cookie:
    Khái niêm: là các tập tin văn bản đc lưu trữ trên máy tính của khách hàng 
    và chúng lưu trữ các thông tin khác nhau nhằm mục đích theo dõi. JSP hỗ 
    trợ HTTP cookies sử dụng công nghệ servlet nằm bên dưới.
    Có 3 bước liên quan trong việc xác định người sử dụng quay lại:
    1. Máy chủ script sẽ gửi một tập hợp các tập tin cookie cho trình
      duyệt như là tên, tuổi, mã số ...
    2. Trình duyệt sẽ duyệt thông tin trên máy local để sử dụng cho các
       lần truy cập sau.
    3. Khi trình duyệt vào thời gian tiếp theo sẽ gửi bất kì yêu cầu đến
      máy chủ web thì nó sẽ gửi những thông tin cookie đến máy chủ và
       máy chủ sử dụng thông tin đó để xác định người sử dụng hặc có thể
       đc sử dụng cho mục đích khác.
    Hoạt động:
    • Các mảnh nhỏ của thông tin được gửi bởi một máy chủ cho trình duyệt
       web client.
    • Lưu trữ trên máy tính của khách hàng và đc đọc lại bởi các máy chủ khi
      nhận được yêu cầu cho cùng một trang.
    • Có một hoặc nhiều cặp name-value đc trao đổi trong request và response.
    • Lưu trữ cho thời hạn sử dụng trên máy tính khách hàng.
    • Tự động bị xóa sau một khoảng thời gian quy định.
    • Giá trị của cookie duy nhất có thể xác định một khách hàng.
    * HTTP request: chứa thông tin như phương pháp, đường dẫn URL và
     phiên bản giao thức HTTP.
    * HTTP response: chứa ngày, kích thước và loại tập tin của máy chủ
     đang gửi lại cho khách hàng.

    HttpSesion:
    Khái niệm:
    • Session được tạo ra giữa một khách hàng HTTP và một máy chủ
       HTTP bằng container servlet.
    • Giao diện HttpSession đc sử dụng để tạo ra phiên làm việc giữa
      client và server.
    Khi người dùng thực hiện một yêu cầu:

    Các phương thức của giao diện HttpSession sử dụng để tạo ra một phiên là:
    • public Object getAttribute(String name):Phương pháp này
       trả về đối tượng ràng buộc với tên được chỉ định trong phiên
      giao dịch này, hoặc null nếu không có đối tượng là ràng buộc dưới tên.
    • public Enumeration getAttributeNames():Phương pháp này trả về
      một Enumeration của đối tượng String chứa tên của tất cả các đối
      tượng trong phiên này.
    • public long getCreationTime():Phương pháp này trả về thời gian
      khi phiên này đã được tạo ra, được đo bằng mili giây tính từ nửa đêm
       ngày 1 tháng 1 năm 1970 giờ GMT.
    • public string getId():Phương pháp này trả về một chuỗi chứa định
       danh duy nhất được gán cho phiên này.
    • public long getLastAccessedTime():Phương pháp này trả lại thờ
      i gian qua, khách hàng gửi một yêu cầu kết hợp với phiên giao dịch
       này, vì số mili giây tính từ nửa đêm ngày 1 tháng 1 1970 giờ.
    • public int getMaxInactiveInterval():Phương thức này trả khoảng
      thời gian tối đa, trong vài giây, mà servlet container sẽ giữ phiên
      này mở giữa khách hàng truy cập.
    • public void invalidate:Phương pháp này vô hiệu phiên này
      và unbinds bất kỳ đối tượng trong nó.
    • public boolean isNew():Phương pháp này trả về true nếu khách
       hàng chưa biết về phiên hoặc nếu khách hàng chọn không
      tham gia phiên họp.
    • public void removeAttribute(String name):Phương pháp này loại
       bỏ các đối tượng ràng buộc với tên được chỉ định từ phiên này.
    • public void setAttribute(String name, Objectvalue):Phương
       pháp này liên kết với một đối tượng để kỳ họp này, bằng cách
      sử dụng tên được chỉ định.
    • public void setMãInactiveInterval(int interval):Phương pháp này
       quy định cụ thể thời gian, chỉ trong vài giây, giữa các yêu cầu của
       khách hàng trước khi servlet container sẽ làm mất hiệu lực trong phiên này.
    URL Rewriting:
    Khái niệm: Uniform Resource Locator (URL) là địa chỉ của một tài
     nguyên nằm trên Web.
    - URL rewriting là thêm sessionid vào url, phương pháp này có
    tác dụng khi mà cookie không làm việc (thường do browser disable cookie)
    Kỹ thuật: URL Rewriting:
    • Thêm một số dữ liệu khác vào cuối URL để xác định điểm đến.
    • Thông tin thêm trong hình thức thông tin đường dẫn hoặc
       thêm các tham số.
    • Khi người dùng click vào một liên kết, các dữ liệu từ các
       trang được nối lại bằng cách sử dụng '?' trong URL.
    • Là kỹ thuật ưu tiên thấp nhất đc sử dụng để quản lý và đc
       sử dụng như là một thay thế cho Cookie.

Comments

Popular Posts