Trang chủ » Khác » HTTP Header

HTTP Header


Khi truy cập Web, Browser sẽ gởi http request và nhận về http response. Việc hiểu rõ các thuộc tính của HTTP header sẽ rất có ích trong lập trình Web.

Bạn có thể xem HTTP header bằng cách sử dụng firebug – một add on cho firefox, có thể debug cho javascript.

firebug_headers

HTTP status code

2xx: là request thành công

3xx: dùng cho chuyển tiếp đến trang khác

4xx: dùng khi có lỗi xảy ra trong request

5xx: dùng khi server bị lỗi

Một vài status code thuờng gặp:

200: OK, được gởi trong response khi request thành công.

302:  Moved temporarily

301: Moved permanetly

Sự khác biệt giữa 301 và 302 là khi spider của search engine truy cập, nếu thấy status code là 302 nghĩa là website đã tạm thời chuyển đến địa chỉ khác, và nó sẽ tiếp tục truy cập lần sau. Còn nếu là 301 thì nó báo với spider là website đã chuyễn luôn tới địa chỉ khác rồi.

400: Bad request: request bị sai cú pháp

401:Unauthorized: phải nhập username và password mới truy cập được. Nếu username/password sai thi sẽ trả về 401

403: Forbidden: không cho phép truy cập tới trang web này.

404: Not Found: trang web không tìm thấy.

500: Internal server error: là lỗi phát sinh trên server, đây là lỗi rất khó fix, thường phải xem log trên server để biết chính xác là lỗi gì.

Request header

Host: là địa chỉ server đang truy cập

User-Agent: chứa thông tin về browser, hệ điều hành

Accept-Language: chỉ ra default ngôn ngữ, nhiều website dựa vào thông tin này mà hiện thị ngôn ngữ tương ứng.

Accept-Encoding: khi chỉ ra là gzip thì server sẽ nén dữ liệu html trước khi gởi cho client, giúp giảm kích thước dữ liệu.

If-Modified-Since: Nếu dữ liệu đã đươc cache o browser, khi truy cập lại lần nữa thì browser sẽ gởi thông tin này đến server. Server sẽ kiểm tra xem dữ liệu có thay đổi hay không, nếu không thay đổi thì sẽ gởi cho browser status code là 304 Not Modified, và browser sẽ dùng dữ liệu trong cache.

Cookie: cookie được lưu ở browser dưới dạng key=value. Session chính là dựa vào cookie để xác định "em là người mới truy cập lúc nãy nè đại ca server".

Authorization:  Khi browser nhận WWW-Authenticate trong response header thì sẽ mở 1 hộp thoại yêu cầu nhập vào username và pasword. Thông tin này được gởi đến server dưới dạng: Authorization: Basic base46(uername:password).

Response header

Cache-Control: Bảo client là có cache dữ liệu này hay không, nếu không muốn cache thì chỉ định là no-cache

Content-Type: chỉ định kiểu MIME kiểu tài liệu, ví dụ như là text/html, image/gif, application/pdf,…

Content-Disposition: Nếu thấy thuộc tính này, browser sẽ mở hộp thoại cho download file.

Content-Length: kích thước của response body, ví dụ như browser dựa vào thông tin này để biết được tiến độ của việc download file.

Last-Modified: thời gian modified sau cùng của tài liệu.

Set-Cookie: Server muốn gởi tới browser cookie.

WWW-Authenticate: như đã nói ở trên, browser thấy thuộc tính này sẽ mở 1 hộp thoại cho đăng nhập

authentication

Content-Encoding: khi muốn nội dung gởi về browser được nén lại thi chỉ định là gzip.

Trên đây là một vài thuộc tính cơ bản, để biết đầy đủ HTTP Header, tham khảo thêm ở đây

Bình luận

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s