Phương thức HTTP mặc định là gì?


147

Khi một biểu mẫu HTML được gửi mà không chỉ định một phương thức, phương thức HTTP mặc định được sử dụng là gì? NHẬN hay BÀI VIẾT?

Hành vi này đã bao giờ thay đổi giữa các tiêu chuẩn HTML chưa?

Vui lòng trích dẫn một tài liệu tiêu chuẩn W3C nếu có thể.


1
Đã được trả lời một cách xuất sắc ở đây (với thông số W3C và tất cả): stackoverflow.com/questions/2225735/ Lời
Pekka

Câu trả lời:


171

Đó là NHẬN.

Hãy xem Khuyến nghị được áp dụng W3C 17.3 Phần tử FORM .

Trích đoạn:

<!ATTLIST FORM
  %attrs;                              -- %coreattrs, %i18n, %events --
  action      %URI;          #REQUIRED -- server-side form handler --
  method      (GET|POST)     GET       -- HTTP method used to submit the form--
  enctype     %ContentType;  "application/x-www-form-urlencoded"
  accept      %ContentTypes; #IMPLIED  -- list of MIME types for file upload --
  name        CDATA          #IMPLIED  -- name of form for scripting --
  onsubmit    %Script;       #IMPLIED  -- the form was submitted --
  onreset     %Script;       #IMPLIED  -- the form was reset --
  accept-charset %Charsets;  #IMPLIED  -- list of supported charsets --
  >

Đọc tốt

Phương thức GET và POST trong các biểu mẫu HTML - sự khác biệt là gì?



9

Nếu không được chỉ định, mặc định là GET. Tôi thấy không có dấu hiệu cho thấy hành vi này đã từng khác. Và nó có nghĩa là GET là mặc định, vì nó chỉ định phương thức đó nên được sử dụng cho các hành động mà không có tác dụng phụ.

http://www.faqs.org/faqs/www/cgi-faq/section-37.html

Trích dẫn từ http://www.w3.org/TR/html401/interact/forms.html#h-17.3 :

method = get | post [CI]
Thuộc tính này chỉ định phương thức HTTP nào sẽ được sử dụng để gửi tập dữ liệu biểu mẫu. Các giá trị có thể (không phân biệt chữ hoa chữ thường) là " get" (mặc định) và " post". Xem phần nộp mẫu để biết thông tin sử dụng.

17.13.1 Phương thức gửi biểu mẫu
Thuộc tính phương thức của FORMphần tử chỉ định phương thức HTTP được sử dụng để gửi biểu mẫu đến tác nhân xử lý. Thuộc tính này có thể có hai giá trị:

  • get: Với phương thức "get" HTTP, tập dữ liệu biểu mẫu được gắn vào URI được chỉ định bởi thuộc tính hành động (với dấu chấm hỏi ("?") làm dấu tách) và URI mới này được gửi đến tác nhân xử lý.

  • bài đăng: Với phương thức "bài" HTTP, tập dữ liệu biểu mẫu được bao gồm trong phần thân của biểu mẫu và được gửi đến tác nhân xử lý.

Phương thức "get" nên được sử dụng khi biểu mẫu là idempotent (nghĩa là không gây ra tác dụng phụ). Nhiều tìm kiếm cơ sở dữ liệu không có tác dụng phụ có thể nhìn thấy và tạo ra các ứng dụng lý tưởng cho phương thức "get".



0

(câu trả lời đầy đủ hơn, cũng về hành động và mã hóa)

'Phương thức', 'hành động' và 'mã hóa' mặc định của biểu mẫu HTML, nếu chúng không được chỉ định,
là GET, URL hiện tại và application/x-www-form-urlencodedtương ứng.
(Tức là, theo mặc định, một biểu mẫu yêu cầu trang hiện tại với các tham số được nhập.)

Hành vi này chưa bao giờ thay đổi, ngoại trừ 'hành động' (trong HTML 4 là bắt buộc). Trích dẫn:

phương thức: " Giá trị mặc định thiếu cho thuộc tính phương thức là ... trạng thái GET."
hoạt động:

Hành động của một phần tử là giá trị của thuộc tính định dạng của phần tử, nếu phần tử là Nút Gửi và có thuộc tính đó hoặc giá trị của thuộc tính hành động của chủ sở hữu biểu mẫu, nếu có, hoặc nếu không có chuỗi trống. <...> Nếu hành động là chuỗi trống, hãy để hành động là URL của tài liệu của tài liệu biểu mẫu.

enctype: " Giá trị mặc định thiếu cho thuộc tính enctype là ... application/x-www-form-urlencodedtrạng thái."

phương thức: "Các giá trị có thể (không phân biệt chữ hoa chữ thường) là 'get' (mặc định) và 'post'."
hành động: không có mặc định, DTD yêu cầu nó mã hóa
: "Giá trị mặc định cho thuộc tính này là 'application / x-www-form-urlencoding'."

<!ATTLIST FORM
  %attrs;                              -- %coreattrs, %i18n, %events --
  action      %URI;          #REQUIRED -- server-side form handler --
  method      (GET|POST)     GET       -- HTTP method used to submit the form--
  enctype     %ContentType;  "application/x-www-form-urlencoded"

phương thức: "Nó có thể là GET hoặc POST và mặc định là GET."
hành động: không có câu rõ ràng, chỉ có trong mã DTD
: "Nó mặc định là application / x-www-form-urlencoding ."

<!ATTLIST FORM
        action %URL #IMPLIED  -- server-side form handler --
        method (%HTTP-Method) GET -- see HTTP specification --
        enctype %Content-Type; "application/x-www-form-urlencoded"

phương thức: không có câu rõ ràng, chỉ trong
hành động DTD : "URI hành động của một biểu mẫu mặc định cho URI cơ sở của tài liệu"
enctype: "Mã hóa mặc định cho tất cả các biểu mẫu là` application / x-www-form-urlencoding '. "

<!ATTLIST FORM
        ACTION CDATA #IMPLIED
        METHOD (%HTTP-Method) GET
        ENCTYPE %Content-Type; "application/x-www-form-urlencoded"
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.