(Express + Reactjs) Hỏi về response.headers của Reactjs khi gọi 1 api



  • Cụ thể là ở 1 api lần đầu tiên user request thì api đó sẽ trả về dữ liệu kèm theo 1 cái headers được set trên server , nhưng api này từ request thứ 2 trở đi thì sẽ không set headers để trả về nữa mà sao thằng reactjs vẫn nhận được cái response.headers với giá trị key value cũ của thằng headers lần đầu tiền được gọi ( mặc dù từ lần thứ 2 này server sẽ ko trả về headers nữa ). mọi ngày giúp e với ạ e cảm ơn
    --> lần đầu gọi api sẽ trả về 1 headers với key value là abc = "xyz" nhưng từ lần thứ 2 trở đi thì server sẽ ko trả abc = "xyz" về nữa nhưng sao reactjs vẫn nhận được abc = "xyz"
    0_1544269488985_image.png



  • @PeTer-E endpoint của bạn có thay đổi ko



  • em đang dùng axios , set ở headers của nó thêm 'Cache-Control': 'no-cache' thì được rồi , em ko hiểu rỏ cache lắm chắc response xong cache nó còn lưu nên req lại nó vẫn nhận được cái headers đó



  • @PeTer-E Response headers là do server ghi. Thường là proxy server ghi + app server ghi vào. Việc này client sẽ không xử lí đc. Với nữa có thể server vẫn sử dụng cached header cũ khi endpoint của bạn vẫn giống. Thì với trong khoảng tg ngắn đi. Có thể đã cached ở proxy hay app code. Bạn thử viết 2 endpoint. 1 set + 1 không set để track thử.

    Và cái thứ 2 mình confuse là sao bạn biets đc cái request thứ tự. Đa số system h là concurrent system thì nếu track theo số lượng cũng sẽ không make sense theo thứ tự đươc. Vì nó đảm bảo tính reliable. Còn nếu lưu vào variables thì data sẽ mất mỗi lần khởi tạo 1 tiến trình xử lí request. Chỉ có cách lưu xuống storage nào đó như redis.

    Bạn có thể show code backend + frontend để mọi người xem cho dễ phán đáon :))


Log in to reply