Hầu hết mọi thứ bạn nhìn thấy trong trình duyệt đều được truyền đến máy tính của bạn thông qua giao thức HTTP . Ví dụ, khi bạn mở trang bài viết này, trình duyệt của bạn đã gửi rất nhiều yêu cầu HTTP ( Request ) và nhận được rất nhiều phản hồi ( Response ).

Các tiêu đề HTTP ( Header ) là một phần quan trọng của các yêu cầu và phản hồi HTTP này, chúng truyền tải thông tin về trình duyệt của máy khách, trang được yêu cầu, máy chủ, v.v.

Trong hướng dẫn này, chúng tôi sẽ trình bày cách lấy thông tin bạn cần từ Request Headers . Hướng dẫn này hướng dẫn cách lấy thông tin mà chúng ta quan tâm từ các tiêu đề yêu cầu ( Request Headers ) và đặt các giá trị nhất định cho các tiêu đề phản hồi cần thiết ( Response Headers ).

Cách dễ nhất để lấy thông tin về nội dung của Request Headers là thực hiện yêu cầu trong ứng dụng đã xuất bản.

  • Chuyển đến công cụ dành cho nhà phát triển ( F12 ).
  • Chuyển sang tab Networks .
  • Chọn yêu cầu đã gửi từ danh sách.
  • Chuyển sang tab Headers và tìm phần Request Headers .

1_f12

Cách sử dụng AppMaster để tương tác với Tiêu đề phản hồi yêu cầu

Trong công cụ thiết kế phụ trợ AppMaster , bạn có thể lấy thông tin tiêu đề yêu cầu nếu tên của nó được chỉ định trong khối quy trình công việc Get Request Headers .

2_getRequestHeaders

  • Name [ string ] - Tên tiêu đề;
  • Value [ string ] - Giá trị của tiêu đề;

Để thêm Header tùy chỉnh trong phản hồi - khối Set Response Header được sử dụng.

3_setResponseHeaders

  • Name [ chuỗi ] - Tên tiêu đề;
  • Value [ chuỗi ] - Giá trị của tiêu đề;

Có nhiều Request Headers tồn tại, nhưng một vài trong số chúng được mô tả bên dưới (thông tin được lấy từ https://www.w3.org/Protocols/HTTP/HTRQ_Headers.html ):

  • From - Ở định dạng thư Internet, điều này cung cấp tên của người dùng yêu cầu. Trường này có thể được sử dụng cho mục đích ghi nhật ký và một hình thức bảo vệ quyền truy cập không an toàn. Việc giải thích trường này là yêu cầu đang được thực hiện thay mặt cho người được đưa ra, người chịu trách nhiệm về phương pháp được thực hiện. Địa chỉ thư Internet trong trường này không nhất thiết phải tương ứng với máy chủ internet đã đưa ra yêu cầu. (Ví dụ: khi một yêu cầu được chuyển qua một cổng, thì địa chỉ của nhà phát hành ban đầu sẽ được sử dụng). Nếu có thể, địa chỉ thư phải là một địa chỉ thư hợp lệ, cho dù trên thực tế đó có phải là địa chỉ thư internet hay đại diện thư internet của một địa chỉ trên một số hệ thống thư khác hay không.
  • Accept - Trường này chứa danh sách lược đồ biểu diễn được phân tách bằng dấu chấm phẩy ( giá trị siêu thông tin Content-Type ) sẽ được chấp nhận trong phản hồi cho yêu cầu này. Tất nhiên, tập hợp được cung cấp có thể khác nhau tùy theo yêu cầu từ cùng một người dùng.
    Thí dụ:
    Chấp nhận: văn bản/đơn giản, văn bản/html
    Chấp nhận: văn bản/x-dvi; q=.8; mxb=100000; mxt=5.0, văn bản/xc
  • Accept-Encoding - Tương tự như Chấp nhận nhưng liệt kê các loại Mã hóa nội dung được chấp nhận trong phản hồi.
    Thí dụ:
    Chấp nhận-Mã hóa: x-compress; x-zip
  • Referer - Trường tiêu đề tùy chọn này cho phép máy khách chỉ định, vì lợi ích của máy chủ, địa chỉ ( URI ) của tài liệu (hoặc thành phần trong tài liệu) mà URI trong yêu cầu được lấy từ đó. Điều này cho phép máy chủ tạo danh sách các liên kết ngược tới tài liệu, sở thích, ghi nhật ký, v.v. Nó cho phép truy tìm các liên kết xấu để bảo trì. Nếu một phần URI được cung cấp, thì nó sẽ được phân tích cú pháp tương ứng với URI của đối tượng của yêu cầu.
    Thí dụ:
    Người giới thiệu: http://www.w3.org/hypertext/DataSources/Overview.html
  • Authorization - Nếu có dòng này, nó chứa thông tin ủy quyền. Định dạng là To Be Specified (TBS). Định dạng của trường này ở dạng mở rộng. Từ đầu tiên là đặc điểm kỹ thuật của hệ thống ủy quyền đang sử dụng.
    Thí dụ:
    Ủy quyền: Người mang BtHKEsVs5mNNtNf7UWoVwjJzFqLOzucA
  • Accept-Language - Tương tự như Chấp nhận , nhưng liệt kê các giá trị Ngôn ngữ thích hợp hơn trong phản hồi. Phản hồi bằng ngôn ngữ không xác định không phải là bất hợp pháp.
  • User-Agent - Dòng này nếu có cung cấp chương trình phần mềm được sử dụng bởi máy khách ban đầu. Điều này là dành cho mục đích thống kê và truy tìm các vi phạm giao thức. Nó nên được bao gồm. Từ được phân cách bằng khoảng trắng đầu tiên phải là tên sản phẩm phần mềm, với dấu gạch chéo tùy chọn và ký hiệu phiên bản. Các sản phẩm khác tạo thành một phần của tác nhân người dùng có thể được đặt dưới dạng các từ riêng biệt.
    Thí dụ:
    Tác nhân người dùng: LII-Cello/1.0 libwww/2.5

Ví dụ về Response Headers :

  • Allowed - Liệt kê tập hợp các yêu cầu mà người dùng yêu cầu được phép đưa ra cho URL này. Nếu dòng tiêu đề này bị bỏ qua, các phương thức được phép mặc định là " GET HEAD "
  • Public - Như được phép nhưng liệt kê những yêu cầu mà bất kỳ ai cũng có thể sử dụng. Nếu bỏ qua, giá trị mặc định chỉ là " GET ".
  • Content-Length - Ngụ ý rằng nội dung là nhị phân và phải được đọc trực tiếp từ liên kết truyền thông, không phân tích cú pháp dòng, v.v. Khi dữ liệu là một phần của yêu cầu, ngăn việc thoát và hủy thoát chuỗi kết thúc.
  • Content-Encoding - Chỉ định cơ chế mã hóa được sử dụng. Hiện chỉ được sử dụng x-compressx-gzip .
  • Content-Type - chỉ định loại tài liệu.
  • Content-Length - Ngụ ý rằng nội dung là nhị phân và phải được đọc trực tiếp từ liên kết truyền thông, không phân tích cú pháp dòng, v.v. Khi dữ liệu là một phần của yêu cầu, ngăn việc thoát và hủy thoát chuỗi kết thúc.
  • Last-Modified cuối - Lần cuối đối tượng được sửa đổi, tức là ngày của phiên bản này nếu tài liệu là "tài liệu sống".

Hãy xem một ví dụ về việc lấy IP của người dùng và giá trị Cookie của nó từ Request Headers .
Để lấy IP của người dùng, x-real-ip được sử dụng. Tiêu đề yêu cầu cookie cung cấp thông tin mã thông báo Cookie .

BP trông giống như:

bp

Trong bước tiếp theo, điểm cuối cho BP này phải được tạo

endpoint

Giao diện người dùng trông giống như:

ui

Cuối cùng, kết quả được hiển thị dưới đây. Người dùng nhận thông tin từ các tiêu đề sau khi nhấp vào nút ( kích hoạt onClick trong quy trình làm việc của nút) và tiêu đề của Nhãn được cập nhật với thông tin này ( Thuộc tính cập nhật nhãn ).

result

Was this article helpful?

AppMaster.io 101 Khóa học tai nạn

10 Mô-đun
2 Tuần

Không biết chắc nên bắt đầu từ đâu? Bắt đầu với khóa học sụp đổ của chúng tôi dành cho người mới bắt đầu và khám phá AppMaster từ A đến Z.

Bắt đầu khóa học
Development it’s so easy with AppMaster!

Cần sự giúp đỡ nhiều hơn?

Giải quyết mọi vấn đề với sự giúp đỡ của các chuyên gia của chúng tôi. Tiết kiệm thời gian và tập trung vào việc xây dựng các ứng dụng của bạn.

headphones

Liên hệ hỗ trợ

Hãy cho chúng tôi biết về vấn đề của bạn và chúng tôi sẽ tìm ra giải pháp cho bạn.

message

trò chuyện cộng đồng

Thảo luận câu hỏi với những người dùng khác trong cuộc trò chuyện của chúng tôi.

Tham gia cộng đồng