Tôi đã tự tạo ra hai tập tin cookie sử dụng firebug:Tại sao trình duyệt web không quan tâm đến số cổng khi gửi cookie?
Cookie1=value1; expires=Sat, 29 Mar 2014 06:21:54 GMT; path=/Ex05Cookie; domain=localhost; HttpOnly
Cookie2=value2; expires=Sat, 29 Mar 2014 06:21:54 GMT; path=/Ex05Cookie; domain=localhost:8080; HttpOnly
Sự khác biệt duy nhất là các thuộc tính miền, một là localhost
trong khi người kia có một số cổng.
Đây là tiêu đề HTTP khi tôi cố gắng để yêu cầu http://localhost:8080/Ex05Cookie/
:
GET /Ex05Cookie/ HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Cookie: Cookie1=value1
Connection: keep-alive
Cache-Control: max-age=0
nơi header chỉ chứa Cookie1 có tên miền là localhost
.
Tại sao firefox của tôi không gửi Cookie2 thay vì Cookie1?
Tôi đoán đó là vấn đề "cùng miền" với cơ chế HTTP, nơi trình duyệt sẽ không phân biệt các đường dẫn và/hoặc cổng khác nhau để sử dụng các cookie khác nhau trong cùng một tên miền. –
nhưng điều này có thể gây ra sự cố, vì các máy chủ khác nhau chạy trên các cổng khác nhau và cookie được tạo bởi máy chủ httpd (cổng 80) không được gửi tới Tomcat (cổng 8080). –
Rất đúng; Tôi cũng quan tâm đến những người sẽ biết một giải pháp cho việc này. –