URL bài đăng có thể có tham số truy vấn không?

Để tìm kiếm thông tin trong Trợ giúp, hãy nhập một từ hoặc cụm từ vào hộp Tìm kiếm. Khi bạn nhập một nhóm từ, OR được suy ra. Bạn có thể sử dụng toán tử Boolean để tinh chỉnh tìm kiếm của mình

Kết quả trả về không phân biệt chữ hoa chữ thường. Tuy nhiên, xếp hạng kết quả có tính đến trường hợp và chỉ định điểm số cao hơn cho trường hợp phù hợp. Do đó, tìm kiếm "mèo" theo sau là tìm kiếm "Mèo" sẽ trả về cùng một số chủ đề Trợ giúp, nhưng thứ tự liệt kê các chủ đề sẽ khác nhau

see my page! mine is better 9Chủ đề có chứa từ "mèo". Bạn cũng sẽ tìm thấy các biến thể ngữ pháp của nó, chẳng hạn như "cats"

Một cụm từ

Bạn có thể chỉ định rằng kết quả tìm kiếm có chứa một cụm từ cụ thể

 see my page!
 mine is better
0 [dấu ngoặc kép]

Các chủ đề có chứa cụm từ "thức ăn cho mèo" theo nghĩa đen và tất cả các biến thể ngữ pháp của nó

Không có dấu ngoặc kép, truy vấn tương đương với việc chỉ định một toán tử OR, toán tử này tìm các chủ đề bằng một trong các từ riêng lẻ thay vì cụm từ

see my page! mine is better 1

 see my page!
 mine is better
2

 see my page!
 mine is better
3 [biểu tượng dấu cộng]

 see my page!
 mine is better
4 [dấu và]

 see my page!
 mine is better
5

 see my page!
 mine is better
6

 see my page!
 mine is better
7

Một trong hai từ trong một chủ đề

 see my page!
 mine is better
8
 see my page!
 mine is better
00

 see my page!
 mine is better
01 [đường ống]

 see my page!
 mine is better
02

 see my page!
 mine is better
03

Các chủ đề không chứa một từ hoặc cụm từ cụ thể

 see my page!
 mine is better
04
 see my page!
 mine is better
05

 see my page!
 mine is better
06 [dấu chấm than]

 see my page!
 mine is better
07

 see my page!
 mine is better
08

Các chủ đề chứa một chuỗi và không chứa một chuỗi khác
 see my page!
 mine is better
09 [dấu mũ]
 see my page!
 mine is better
10Một sự kết hợp của các loại tìm kiếm
 see my page!
 mine is better
11 dấu ngoặc đơn

 see my page!
 mine is better
12

 see my page!
 mine is better
13

see my page! mine is better 14. Người trung gian thường thể hiện loại giới hạn này hơn. Khi một khách hàng nhận được trạng thái này trong một phản hồi, rất có thể đó là do một biểu thức truy vấn dài gây ra. Khách hàng nên thử lại yêu cầu với các thay đổi sau

  • Thay đổi phương thức HTTP từ

     see my page!
     mine is better
    
    15 thành
     see my page!
     mine is better
    
    16

  • Đặt tiêu đề Loại nội dung thành ____317

  • Xóa tham số truy vấn

     see my page!
     mine is better
    
    18 khỏi URL và đặt phần thân của yêu cầu thành tham số truy vấn
     see my page!
     mine is better
    
    18. Ví dụ: nội dung thư có thể như sau.
     see my page!
     mine is better
    
    20

    Chuỗi truy vấn là một phần của bộ định vị tài nguyên thống nhất [URL] gán giá trị cho các tham số đã chỉ định. Chuỗi truy vấn thường bao gồm các trường được trình duyệt Web hoặc ứng dụng khách khác thêm vào URL cơ sở, chẳng hạn như một phần của HTML, chọn giao diện của trang hoặc chuyển đến các vị trí trong nội dung đa phương tiện. [1][2][3]

    Máy chủ web có thể xử lý yêu cầu Giao thức truyền siêu văn bản [HTTP] bằng cách đọc tệp từ hệ thống tệp của nó dựa trên đường dẫn URL hoặc bằng cách xử lý yêu cầu bằng logic dành riêng cho loại tài nguyên. Trong trường hợp logic đặc biệt được gọi, chuỗi truy vấn sẽ có sẵn cho logic đó để sử dụng trong quá trình xử lý, cùng với thành phần đường dẫn của URL

    Cấu trúc[sửa]

    URL điển hình chứa chuỗi truy vấn như sau

     see my page!
     mine is better
    
    0

    Khi một máy chủ nhận được yêu cầu cho một trang như vậy, nó có thể chạy một chương trình, chuyển chuỗi truy vấn, trong trường hợp này là

     see my page!
     mine is better
    
    1, không thay đổi cho chương trình. Dấu chấm hỏi được sử dụng làm dấu phân cách và không phải là một phần của chuỗi truy vấn. [4][5]

    Các khung web có thể cung cấp các phương thức phân tích cú pháp nhiều tham số trong chuỗi truy vấn, được phân tách bằng một số dấu phân cách. [6] Trong URL ví dụ bên dưới, nhiều tham số truy vấn được phân tách bằng dấu và, "

     see my page!
     mine is better
    
    4"

     see my page!
     mine is better
    
    3

    Cấu trúc chính xác của chuỗi truy vấn không được chuẩn hóa. Các phương pháp được sử dụng để phân tích cú pháp chuỗi truy vấn có thể khác nhau giữa các trang web

    Một liên kết trong trang web có thể có một URL chứa chuỗi truy vấn. HTML xác định ba cách mà tác nhân người dùng có thể tạo chuỗi truy vấn

    • một biểu mẫu HTML thông qua phần tử
       see my page!
       mine is better
      
      4
    • bản đồ hình ảnh phía máy chủ thông qua thuộc tính
       see my page!
       mine is better
      
      5 trên phần tử
       see my page!
       mine is better
      
      6 với cấu trúc
       see my page!
       mine is better
      
      6
    • một tìm kiếm được lập chỉ mục thông qua phần tử
       see my page!
       mine is better
      
      1 hiện không được dùng nữa

    Biểu mẫu web[sửa]

    Một trong những cách sử dụng ban đầu là chứa nội dung của biểu mẫu HTML, còn được gọi là biểu mẫu web. Đặc biệt, khi một biểu mẫu chứa các trường

     see my page!
     mine is better
    
    2,
     see my page!
     mine is better
    
    3,
     see my page!
     mine is better
    
    4 được gửi, nội dung của các trường được mã hóa dưới dạng chuỗi truy vấn như sau

     see my page!
     mine is better
    
    5

    • Chuỗi truy vấn bao gồm một loạt các cặp trường-giá trị
    • Trong mỗi cặp, tên trường và giá trị được phân tách bằng dấu bằng, "
       see my page!
       mine is better
      
      6"
    • Chuỗi các cặp được phân tách bằng dấu và, "
       see my page!
       mine is better
      
      4" [dấu chấm phẩy "
       see my page!
       mine is better
      
      8" không được W3C khuyến nghị nữa, xem bên dưới]

    Mặc dù không có tiêu chuẩn rõ ràng, nhưng hầu hết các khung web đều cho phép nhiều giá trị được liên kết với một trường duy nhất [e. g.

     see my page!
     mine is better
    
    9]. [7][8]

    Đối với mỗi trường của biểu mẫu, chuỗi truy vấn chứa một cặp

     see my page!
     mine is better
    
    0. Biểu mẫu web có thể bao gồm các trường không hiển thị cho người dùng;

    Quy ước này là khuyến nghị của W3C. [6] Trong các khuyến nghị năm 1999, W3C đã khuyến nghị rằng tất cả các máy chủ web đều hỗ trợ dấu phân cách dấu chấm phẩy ngoài dấu phân cách dấu và [9] để cho phép các chuỗi truy vấn được mã hóa ứng dụng/x-www-form-urlencoded trong URL trong tài liệu HTML mà không cần phải thực thể thoát dấu và. Kể từ năm 2014, W3C khuyến nghị chỉ sử dụng dấu và làm dấu tách truy vấn [10]

    Nội dung biểu mẫu chỉ được mã hóa trong chuỗi truy vấn của URL khi phương thức gửi biểu mẫu là GET. Mã hóa tương tự được sử dụng theo mặc định khi phương thức gửi là POST, nhưng kết quả được gửi dưới dạng nội dung yêu cầu HTTP thay vì được đưa vào URL đã sửa đổi. [1]

    Tìm kiếm được lập chỉ mục[sửa]

    Trước khi các biểu mẫu được thêm vào HTML, các trình duyệt đã hiển thị phần tử

     see my page!
     mine is better
    
    1 dưới dạng điều khiển nhập văn bản một dòng. Văn bản được nhập vào điều khiển này đã được gửi đến máy chủ dưới dạng chuỗi truy vấn bổ sung cho yêu cầu GET cho URL cơ sở hoặc URL khác được chỉ định bởi thuộc tính
     see my page!
     mine is better
    
    2. [11] Điều này nhằm mục đích cho phép các máy chủ web sử dụng văn bản được cung cấp làm tiêu chí truy vấn để chúng có thể trả về danh sách các trang phù hợp. [12]

    Khi văn bản nhập vào điều khiển tìm kiếm được lập chỉ mục được gửi, nó được mã hóa dưới dạng chuỗi truy vấn như sau

     see my page!
     mine is better
    
    3

    • Chuỗi truy vấn bao gồm một loạt các đối số bằng cách phân tích văn bản thành các từ tại các khoảng trắng
    • Chuỗi được phân tách bằng dấu cộng, '______84'

    Mặc dù phần tử

     see my page!
     mine is better
    
    1 không được dùng nữa và hầu hết các trình duyệt không còn hỗ trợ hoặc hiển thị nó, nhưng vẫn còn tồn tại một số vết tích của tìm kiếm được lập chỉ mục. Ví dụ: đây là nguồn xử lý dấu cộng đặc biệt, '
     see my page!
     mine is better
    
    4' trong mã hóa phần trăm URL của trình duyệt [ngày nay, với việc ngừng sử dụng tìm kiếm được lập chỉ mục, tất cả đều dư thừa với
     see my page!
     mine is better
    
    7]. Ngoài ra một số máy chủ web hỗ trợ CGI [e. g. , Apache] sẽ xử lý chuỗi truy vấn thành các đối số dòng lệnh nếu nó không chứa dấu bằng, '
     see my page!
     mine is better
    
    6' [theo mục 4. 4 của CGI 1. 1]. Một số tập lệnh CGI vẫn phụ thuộc và sử dụng hành vi lịch sử này cho các URL được nhúng trong HTML

    Mã hóa URL[sửa mã nguồn]

    Một số ký tự không thể là một phần của URL [ví dụ: khoảng trắng] và một số ký tự khác có ý nghĩa đặc biệt trong URL. ví dụ: ký tự

     see my page!
     mine is better
    
    9 có thể được sử dụng để chỉ định thêm một tiểu mục [hoặc đoạn] của tài liệu. Trong biểu mẫu HTML, ký tự
     see my page!
     mine is better
    
    6 được sử dụng để phân tách tên khỏi giá trị. Cú pháp chung của URI sử dụng mã hóa URL để giải quyết vấn đề này, trong khi các biểu mẫu HTML thực hiện một số thay thế bổ sung thay vì áp dụng mã hóa phần trăm cho tất cả các ký tự như vậy. SPACE được mã hóa thành '
     see my page!
     mine is better
    
    4' hoặc "
     see my page!
     mine is better
    
    7". [13]

    HTML 5 chỉ định chuyển đổi sau để gửi biểu mẫu HTML bằng phương thức "NHẬN" tới máy chủ web. [1] Sau đây là tóm tắt ngắn gọn về thuật toán

    • Các ký tự không thể chuyển đổi thành bộ ký tự chính xác được thay thế bằng tham chiếu ký tự số HTML[14]
    • SPACE được mã hóa thành '
       see my page!
       mine is better
      
      4' hoặc '
       see my page!
       mine is better
      
      7'
    • Các chữ cái [_______605–
       see my page!
       mine is better
      
      06 và
       see my page!
       mine is better
      
      07–
       see my page!
       mine is better
      
      08], số [
       see my page!
       mine is better
      
      09–
       see my page!
       mine is better
      
      10] và các ký tự '
       see my page!
       mine is better
      
      11', '
       see my page!
       mine is better
      
      12','
       see my page!
       mine is better
      
      13' và '
       see my page!
       mine is better
      
      14' được giữ nguyên
    •  see my page!
       mine is better
      
      4 được mã hóa bởi %2B
    • Tất cả các ký tự khác được mã hóa dưới dạng đại diện thập lục phân
       see my page!
       mine is better
      
      16 với bất kỳ ký tự không phải ASCII nào được mã hóa đầu tiên dưới dạng UTF-8 [hoặc mã hóa được chỉ định khác]

    Bộ tám tương ứng với dấu ngã ["

     see my page!
     mine is better
    
    11"] được RFC3986 cho phép trong chuỗi truy vấn nhưng bắt buộc phải được mã hóa theo phần trăm trong biểu mẫu HTML thành "
     see my page!
     mine is better
    
    18"

    Việc mã hóa SPACE là '

     see my page!
     mine is better
    
    4' và việc lựa chọn các ký tự "nguyên trạng" giúp phân biệt mã hóa này với RFC 3986

    Ví dụ[sửa]

    Nếu một biểu mẫu được nhúng trong trang HTML như sau

     see my page!
     mine is better
    
    5

    và người dùng chèn các chuỗi "đây là một trường" và "đã rõ chưa [đã]?" .

     see my page!
     mine is better
    
    43

    Nếu biểu mẫu được xử lý trên máy chủ bằng tập lệnh CGI, thì tập lệnh này thường có thể nhận chuỗi truy vấn dưới dạng biến môi trường có tên

     see my page!
     mine is better
    
    44

    Theo dõi[sửa]

    Một chương trình nhận chuỗi truy vấn có thể bỏ qua một phần hoặc toàn bộ chuỗi đó. Nếu URL được yêu cầu tương ứng với một tệp chứ không phải một chương trình, thì toàn bộ chuỗi truy vấn sẽ bị bỏ qua. Tuy nhiên, bất kể chuỗi truy vấn có được sử dụng hay không, toàn bộ URL bao gồm nó sẽ được lưu trữ trong tệp nhật ký máy chủ

    Những dữ kiện này cho phép các chuỗi truy vấn được sử dụng để theo dõi người dùng theo cách tương tự như cách được cung cấp bởi cookie HTTP. Để điều này hoạt động, mỗi khi người dùng tải xuống một trang, một mã định danh duy nhất phải được chọn và thêm dưới dạng chuỗi truy vấn vào URL của tất cả các liên kết mà trang chứa. Ngay khi người dùng nhấp vào một trong các liên kết này, URL tương ứng sẽ được yêu cầu tới máy chủ. Bằng cách này, việc tải xuống của trang này được liên kết với trang trước đó

    Ví dụ: khi một trang web chứa nội dung sau được yêu cầu

     see my page!
     mine is better
    

    một chuỗi duy nhất, chẳng hạn như

     see my page!
     mine is better
    
    45 được chọn và trang được sửa đổi như sau

    ________số 8

    Việc thêm chuỗi truy vấn không thay đổi cách hiển thị trang cho người dùng. Ví dụ: khi người dùng theo dõi liên kết đầu tiên, trình duyệt sẽ yêu cầu trang

     see my page!
     mine is better
    
    46 đến máy chủ, máy chủ sẽ bỏ qua những gì theo sau
     see my page!
     mine is better
    
    47 và gửi trang
     see my page!
     mine is better
    
    48 như mong đợi, đồng thời thêm chuỗi truy vấn vào liên kết của nó

    Bằng cách này, mọi yêu cầu trang tiếp theo từ người dùng này sẽ mang cùng một chuỗi truy vấn

     see my page!
     mine is better
    
    45, giúp có thể xác định rằng tất cả các trang này đã được xem bởi cùng một người dùng. Chuỗi truy vấn thường được sử dụng cùng với đèn hiệu web

    Sự khác biệt chính giữa chuỗi truy vấn được sử dụng để theo dõi và cookie HTTP là

    1. Chuỗi truy vấn tạo thành một phần của URL và do đó được bao gồm nếu người dùng lưu hoặc gửi URL cho người dùng khác;
    2. Nếu người dùng đến cùng một máy chủ web bằng hai [hoặc nhiều] đường dẫn độc lập, nó sẽ được gán hai chuỗi truy vấn khác nhau, trong khi các cookie được lưu trữ giống nhau
    3. Người dùng có thể tắt cookie, trong trường hợp sử dụng cookie để theo dõi không hoạt động. Tuy nhiên, sử dụng chuỗi truy vấn để theo dõi sẽ hoạt động trong mọi tình huống
    4. Các chuỗi truy vấn khác nhau được chuyển bởi các lượt truy cập khác nhau vào trang sẽ có nghĩa là các trang không bao giờ được phục vụ từ bộ đệm của trình duyệt [hoặc proxy, nếu có], do đó làm tăng tải trên máy chủ web và làm chậm trải nghiệm người dùng

    Các vấn đề về khả năng tương thích[sửa | sửa mã nguồn]

    Theo đặc tả HTTP

    Các giới hạn đặc biệt khác nhau về độ dài dòng yêu cầu được tìm thấy trong thực tế. KHUYẾN NGHỊ rằng tất cả người gửi và người nhận HTTP đều hỗ trợ, ở mức tối thiểu, độ dài dòng yêu cầu là 8000 octet. [15]

    Nếu URL quá dài, máy chủ web không thành công với mã trạng thái HTTP quá dài 414 Request-URI

    Cách giải quyết chung cho những sự cố này là sử dụng POST thay vì GET và lưu trữ các tham số trong phần thân yêu cầu. Giới hạn độ dài đối với nội dung yêu cầu thường cao hơn nhiều so với giới hạn độ dài URL. Ví dụ: theo mặc định, giới hạn về kích thước POST là 2 MB trên IIS 4. 0 và 128 KB trên IIS 5. 0. Giới hạn có thể định cấu hình trên Apache2 bằng cách sử dụng lệnh

     see my page!
     mine is better
    
    30, chỉ định số byte từ 0 [có nghĩa là không giới hạn] đến 2147483647 [2 GB] được phép trong phần thân yêu cầu. [16]

    Phương thức POST có thể có tham số truy vấn không?

    Tham số truy vấn trong yêu cầu POST . 0, đầu vào có thể được chỉ định trong phần thân yêu cầu hoặc dưới dạng một hoặc nhiều tham số truy vấn của yêu cầu. Ví dụ sau hiển thị một yêu cầu POST trên tài nguyên ghi chú, với các giá trị đầu vào trong phần thân yêu cầu

    Tôi có thể sử dụng chuỗi truy vấn trong phương thức POST không?

    Một yêu cầu POST có thể bao gồm một chuỗi truy vấn, tuy nhiên thông thường thì không bao gồm - một biểu mẫu HTML tiêu chuẩn có hành động POST thường sẽ không bao gồm một chuỗi truy vấn chẳng hạn.

    URL có bao gồm các tham số truy vấn không?

    Tham số truy vấn là một tập hợp các tham số xác định được đính kèm ở cuối url . Chúng là phần mở rộng của URL được sử dụng để giúp xác định nội dung hoặc hành động cụ thể dựa trên dữ liệu được truyền. Để nối các tham số truy vấn vào cuối URL, ký tự '? .

    Làm cách nào để gửi tham số truy vấn trong Java yêu cầu POST?

    Trong các yêu cầu POST, các tham số được gửi trong phần thân của yêu cầu. Để gửi tham số truy vấn trong yêu cầu POST bằng HttpURLConnection , hãy nối chúng vào URL được yêu cầu , như sau. Danh sách

Chủ Đề