Sự khác biệt giữa các cách triển khai khác nhau của uri. Mã định danh tài nguyên đồng nhất (URI)

URI (Mã định danh tài nguyên đồng nhất) là một chuỗi ký tự nhỏ gọn để xác định một tài nguyên vật lý hoặc trừu tượng. Tài nguyên là bất kỳ đối tượng nào thuộc không gian nào đó. Sự cần thiết của một URI đã được các nhà thiết kế của WWW rõ ràng kể từ khi hệ thống ra đời. nó được cho là kết hợp thành một công cụ môi trường thông tin duy nhất bằng cách sử dụng các phương pháp xác định tài nguyên thông tin khác nhau. Một đặc tả đã được phát triển bao gồm các cuộc gọi tới FTP, Gopher, WAIS, Usenet, E-mail, Prospero, Telnet, X.500 và tất nhiên là HTTP (WWW). Kết quả là, một đặc tả chung đã được phát triển cho phép bạn mở rộng danh sách các tài nguyên có thể giải quyết do sự xuất hiện của các lược đồ mới.

Nơi áp dụng URI - các liên kết siêu văn bản được viết trong các thẻ . Các đối tượng đồ họa được nhúng cũng được giải quyết bằng đặc tả URI trong các thẻ . Việc triển khai URI cho WWW được gọi là URL (Uniform Resource Locator). Chính xác hơn, URL là một triển khai của một lược đồ URI được ánh xạ tới một thuật toán để truy cập tài nguyên qua các giao thức mạng. Ngoài ra còn có một URN (Tên tài nguyên thống nhất) ánh xạ một URI tới một không gian tên trên web.

Sự xuất hiện của URN là do mong muốn giải quyết các phần của thư MIME. Nguyên tắc xây dựng địa chỉ WWW. URI dựa trên các nguyên tắc sau:

· Khả năng mở rộng - Các lược đồ địa chỉ mới sẽ dễ dàng phù hợp với cú pháp URI hiện có.

Tính hoàn chỉnh - bất cứ khi nào có thể, bất kỳ kế hoạch hiện có nào phải được mô tả bằng URI.

· Khả năng đọc - địa chỉ phải được người dùng dễ đọc, điều này thường là điển hình cho công nghệ WWW - các tài liệu cùng với các liên kết có thể được phát triển trong một trình soạn thảo văn bản thông thường.

Trước khi xem xét các lược đồ biểu diễn địa chỉ khác nhau, hãy đưa ra một ví dụ. địa chỉ đơn giản URI:

http://polyn.net.kiae.su/polyn/index.html

Dấu hai chấm đứng trước từ định danh lược đồ địa chỉ - "http". Tên này được phân tách bằng dấu hai chấm từ phần còn lại của URI, được gọi là "đường dẫn". TẠI trường hợp nàyđường dẫn bao gồm địa chỉ miền của máy mà máy chủ HTTP được cài đặt trên đó và đường dẫn từ gốc của cây máy chủ đến tệp "index.html". Ngoài mục nhập URI đầy đủ được hiển thị ở trên, có một mục được đơn giản hóa. Nó giả định rằng vào thời điểm nó được sử dụng, nhiều tham số địa chỉ tài nguyên đã được xác định (giao thức, địa chỉ máy trên mạng, một số phần tử đường dẫn). Theo các giả định như vậy, tác giả của các trang siêu văn bản chỉ có thể chỉ ra địa chỉ tương đối của tài nguyên, tức là một địa chỉ liên quan đến các tài nguyên cơ bản nhất định.

URL (Uniform Resource Locator, Uniform Resource Locator) là một tập hợp con của các lược đồ URI xác định một tài nguyên theo cách nó được truy cập (ví dụ: "vị trí của nó trên mạng"), thay vì xác định nó bằng tên hoặc các thuộc tính khác của tài nguyên này. URL mô tả rõ ràng cách truy cập đối tượng.

Cú pháp: :, ở đâu:

lược đồ = "http" | ftp | gopher | "mailto" | tin tức | telnet | "tập tin" | người đàn ông | thông tin | whatis | "ldap" | "wais" | ...- tên lược đồ

chương trình-cụ thể-phần- phụ thuộc vào chương trình. Trong phần cụ thể của lược đồ, bạn có thể sử dụng giá trị thập lục phân có dạng:% 5f. Các bộ tám không in được phải được mã hóa: 00-1F, 7F, 80-FF.

Ví dụ về URL:

http://www.ipm.kstu.ru/index.php

ftp://www.ipm.kstu.ru/

URN (Tên tài nguyên đồng nhất) là lược đồ "urn:" URI riêng tư với tập con "không gian tên" phải là duy nhất và không thay đổi ngay cả khi tài nguyên không còn tồn tại hoặc không có sẵn.

Giả định rằng, chẳng hạn, trình duyệt biết nơi tìm tài nguyên này.

Cú pháp: urn: namespace: data1.data2, more-data, nơi không gian tên chỉ định cách dữ liệu sau dấu ":" thứ hai được sử dụng.

Ví dụ về URN:

urn: ISBN: 0–395–36341–6

ISBN - bộ phân loại theo chủ đề dành cho nhà xuất bản,

0-395-36341-6 - một số cụ thể về chủ đề của một cuốn sách hoặc tạp chí

Khi nhận được URN, chương trình khách hàng truy cập vào ISBN (thư mục "bộ phân loại chủ đề dành cho nhà xuất bản" trên Internet). Và anh ta nhận được bảng điểm của môn học số “0–395–36341–6” (ví dụ: “hóa học lượng tử”). URN tương đối gần đây, không được bao gồm trong các phiên bản HTML hiện tại và các dịch vụ thư mục chưa được phát triển, vì vậy URN không được sử dụng rộng rãi như URL.

Lược đồ địa chỉ tài nguyên Internet

Có 3 sơ đồ đánh địa chỉ cho tài nguyên Internet. Lược đồ chỉ định mã định danh, địa chỉ máy, cổng TCP, đường dẫn trong thư mục máy chủ, các biến và giá trị của chúng, nhãn.

Lược đồ HTTP. Đây là sơ đồ cơ bản cho WWW. Lược đồ chỉ định mã định danh, địa chỉ máy, cổng TCP, đường dẫn trong thư mục máy chủ, tiêu chí tìm kiếm và nhãn.

Cú pháp: http: // [ [:@][:][?]]

http- tên lược đồ

người sử dụng- Tên tài khoản

mật khẩu mở khóa- mật khẩu người dùng

chủ nhà- tên máy chủ

Hải cảng- số cổng

đường dẫn url- đường dẫn đến tệp và chính tệp đó

truy vấn (<имя–поля>=<значение>{&<имя–поля>=<значение>) - chuỗi truy vấn

Theo mặc định, cổng = 80.

Dưới đây là một số ví dụ về URI cho lược đồ HTTP:

http://polyn.net.kiae.su/polyn/manifest.html

Đây là loại URI phổ biến nhất được sử dụng trong các tài liệu WWW. Tên lược đồ (http) được theo sau bởi một đường dẫn bao gồm địa chỉ miền của máy và địa chỉ đầy đủ của tài liệu HTML trong cây máy chủ HTTP.

Địa chỉ IP cũng có thể được sử dụng làm địa chỉ máy:

http://144.206.160.40/risk/risk.html

Nếu máy chủ giao thức HTTP đang chạy trên một cổng TCP khác với cổng 80, thì điều này được phản ánh trong địa chỉ:

http://144.206.130.137:8080/altai/index.html

http://polyn.net.kiae.su/altai/volume4.html#first

Lược đồ FTP. Đề án này cho phép bạn giải quyết kho lưu trữ tập tin FTP từ các máy khách World Wide Web. Trong trường hợp này, chương trình phải hỗ trợ giao thức FTP. Trong lược đồ này, có thể chỉ định không chỉ tên của lược đồ, địa chỉ của kho lưu trữ FTP mà còn cả ID người dùng và thậm chí cả mật khẩu của anh ta.

Cú pháp: ftp: // [ [:@][:]

ftp- tên lược đồ

người sử dụng- Tên tài khoản

mật khẩu mở khóa- mật khẩu người dùng

chủ nhà- tên máy chủ

Hải cảng- số cổng

đường dẫn url- đường dẫn đến tệp và chính tệp đó

Theo mặc định, cổng = 21, người dùng = ẩn danh, mật khẩu = địa chỉ email.

Thông thường, lược đồ này được sử dụng để truy cập các kho lưu trữ FTP công khai:

ftp://polyn.net.kiae.su/pub/0index.txt

Trong trường hợp này, một liên kết đến kho lưu trữ "polyn.net.kiae.su" được ghi lại với định danh "ẩn danh" hoặc "ftp" (truy cập ẩn danh). Nếu cần chỉ định ID người dùng và mật khẩu, bạn có thể thực hiện việc này trước địa chỉ máy:

ftp: // không ai: [email được bảo vệ]/ users / local / pub

Trong trường hợp này, các tham số này được phân tách khỏi địa chỉ máy bằng ký hiệu "@" và với nhau bằng dấu hai chấm.

Lược đồ TELNET. Lược đồ này cung cấp quyền truy cập vào tài nguyên ở chế độ đầu cuối từ xa. Thông thường khách hàng gọi chương trình bổ sungđể làm việc qua giao thức telnet. Khi sử dụng lược đồ này, cần có ID người dùng và mật khẩu được phép.

Cú pháp: telnet: // [ [:@][:]/

telnet- tên lược đồ

người sử dụng- Tên tài khoản

mật khẩu mở khóa- mật khẩu người dùng

chủ nhà- tên máy chủ

Hải cảng- số cổng

Theo mặc định, cổng = 23.

Ví dụ: telnet: // name: [email được bảo vệ]

Trong thực tế, quyền truy cập là vào các tài nguyên công cộng, ví dụ như ID và mật khẩu được biết đến công khai, chúng có thể được tìm thấy trong cơ sở dữ liệu Hytelnet.

telnet: // khách: [email được bảo vệ]

Có thể thấy từ các ví dụ trên rằng đặc tả của địa chỉ tài nguyên URI là khá chung chung và cho phép bạn xác định hầu hết mọi tài nguyên trên Internet. Đồng thời, số lượng tài nguyên có thể được mở rộng bằng cách tạo các lược đồ mới.

Dịch vụ WWW

Dịch vụ WWW (World Wide Web) dành cho việc trao đổi thông tin siêu văn bản, được xây dựng theo sơ đồ "máy khách-máy chủ". Trình duyệt (Internet Explorer, Opera ...) là một ứng dụng khách đa giao thức và trình thông dịch HTML. Và giống như một trình thông dịch điển hình, máy khách thực hiện các chức năng khác nhau tùy thuộc vào các lệnh (thẻ). Các chức năng này không chỉ bao gồm vị trí đặt văn bản trên màn hình mà còn trao đổi thông tin với máy chủ khi văn bản HTML nhận được phân tích, điều này xảy ra rõ ràng nhất khi hiển thị hình ảnh đồ họa được nhúng trong văn bản.

Máy chủ HTTP (Apache, IIS ...) xử lý các yêu cầu của khách hàng đối với tệp. Ban đầu, dịch vụ WWW dựa trên ba tiêu chuẩn:

· HTML (HyperText Markup Lan – guage) - ngôn ngữ đánh dấu siêu văn bản của tài liệu;

· URL (Universal Resource Locator) - một cách phổ biến để định địa chỉ các tài nguyên trong mạng;

HTTP (Siêu văn bản Giao thức chuyển giao) là một giao thức để trao đổi thông tin siêu văn bản.

Lược đồ của máy chủ WWW

Máy chủ WWW là một phần của mạng toàn cầu hoặc mạng nội bộ cho phép người dùng mạng truy cập vào các tài liệu siêu văn bản nằm trên máy chủ này. Để tương tác với máy chủ WWW, người dùng mạng phải sử dụng phần mềm chuyên dụng - trình duyệt (từ trình duyệt tiếng Anh) - trình xem.

Chúng ta hãy xem xét kỹ hơn cách máy chủ WWW hoạt động:

1. Người dùng mạng khởi chạy một trình duyệt, các chức năng của trình duyệt này bao gồm:

thiết lập kết nối với máy chủ;

có được tài liệu cần thiết;

hiển thị tài liệu đã nhận;

Phản hồi hành động của người dùng - quyền truy cập vào một tài liệu mới. Sau khi khởi chạy, trình duyệt, theo lệnh của người dùng hoặc tự động thiết lập kết nối với máy chủ WWW được chỉ định và gửi yêu cầu nhận cho tài liệu này.

2. Máy chủ WWW tìm kiếm tài liệu được yêu cầu và trả kết quả cho trình duyệt.

3. Trình duyệt, sau khi nhận được tài liệu, sẽ hiển thị nó cho người dùng và chờ phản ứng của họ. Các tùy chọn có thể có:

Nhập địa chỉ của một tài liệu mới;

In, tìm kiếm, các thao tác khác trên tài liệu hiện tại;

· Kích hoạt (nhấn) các vùng đặc biệt của tài liệu nhận được, được gọi là liên kết (link) và liên kết với địa chỉ của tài liệu mới. Trong trường hợp đầu tiên và thứ ba, một yêu cầu cho một tài liệu mới xảy ra.

URI (Mã định danh tài nguyên thống nhất) là một định danh tài nguyên đồng nhất (thống nhất). URI - một chuỗi ký tự cho phép bạn xác định bất kỳ tài nguyên nào: tài liệu, hình ảnh, tệp, dịch vụ, hộp thư điện tử, v.v. Trước hết, tất nhiên, chúng ta đang nói về các tài nguyên của Internet và World Wide. Web. URI cung cấp một cách đơn giản và có thể mở rộng để xác định tài nguyên. Khả năng mở rộng của URI có nghĩa là đã có một số sơ đồ nhận dạng bên trong các URI và nhiều sơ đồ khác sẽ được tạo ra trong tương lai.

Mối quan hệ giữa URI, URL và URN

Biểu đồ Venn hiển thị các tập con của lược đồ URI: URL và URN.

URI là một URL hoặc một URN hoặc cả hai.

  • URL là một URI, ngoài việc xác định một tài nguyên, nó còn cung cấp thông tin về vị trí của tài nguyên đó.
  • URN là một URI chỉ xác định một tài nguyên trong một không gian tên cụ thể (tương ứng, trong một ngữ cảnh cụ thể), nhưng không chỉ định vị trí của nó. Ví dụ: URN urn: ISBN: 0-395-36341-1 là URI trỏ đến tài nguyên (sách) 0-395-36341-1 trong không gian tên ISBN, nhưng không giống như URL, URN không trỏ đến vị trí của tài nguyên đó: nó không cho biết nó có thể được mua ở cửa hàng nào hoặc tải trên trang web nào.

Vì URI không phải lúc nào cũng chỉ ra cách lấy tài nguyên, không giống như URL, mà chỉ xác định nó, điều này giúp bạn có thể mô tả bằng cách sử dụng các tài nguyên RDF (Khung mô tả tài nguyên) không thể lấy được qua Internet (ví dụ: một người, một chiếc xe hơi, thành phố, v.v.).

Câu chuyện

Năm 1990, tại Geneva, Thụy Sĩ, trong bức tường của Hội đồng Nghiên cứu Hạt nhân Châu Âu, nhà khoa học người Anh Tim Berners-Lee đã phát minh ra công cụ định vị tài nguyên URL. Vì URL là tập con được sử dụng nhiều nhất của URI nên cùng năm 1990 được coi là năm sinh của URI. Nhưng nói đúng ra, khái niệm URI chỉ được ghi nhận vào tháng 6 năm 1994 trong RFC 1630.

Một phiên bản mới URI được định nghĩa vào năm 1998 trong RFC 2396, đồng thời với từ Phổ quát tên đã được đổi thành Đồng phục.

Flaws

URL là một sự đổi mới cơ bản trên Internet, vì vậy các nguyên tắc của URI đã được ghi lại để hoàn toàn tương thích với các URL. Đây là nguyên nhân dẫn đến nhược điểm lớn của URI, vốn là di sản của URL. URI, giống như URL, chỉ có thể sử dụng một số ký tự Latinh và dấu câu giới hạn (thậm chí nhỏ hơn ASCII). Nói cách khác, nếu chúng ta muốn sử dụng các ký tự Cyrillic, hoặc chữ tượng hình, hay nói cách khác, các ký tự tiếng Pháp cụ thể trong URI, thì chúng ta sẽ phải mã hóa URI giống như cách mã hóa URL Unicode trong Wikipedia. Ví dụ, một dòng như:

https://en.wikipedia.org/wiki/Cyrillic

được mã hóa trong URL dưới dạng:

https://ru.wikipedia.org/wiki/%D0%9A%D0%B8%D1%80%D0%B8%D0%BB%D0%BB%D0%B8%D1%86%D0%B0

Vì các chữ cái của tất cả các bảng chữ cái đều phải chịu sự biến đổi như vậy, ngoại trừ bảng chữ cái Latinh được sử dụng trong tiếng Anh, các URI với các từ trong các ngôn ngữ khác (thậm chí cả các ngôn ngữ châu Âu) sẽ mất khả năng được mọi người cảm nhận. Và điều này hoàn toàn trái ngược với nguyên tắc của chủ nghĩa quốc tế được tuyên bố bởi tất cả các tổ chức hàng đầu của Internet, bao gồm W3C và ISOC. Vấn đề này dự kiến ​​sẽ được giải quyết bằng tiêu chuẩn IRI. Mã định danh tài nguyên quốc tế) - định danh quốc tế tài nguyên trong đó các ký tự Unicode có thể được sử dụng mà không gặp sự cố và sẽ không vi phạm quyền của các ngôn ngữ khác. Ngoài ra, người tạo ra URI, Tim Berners-Lee, nói rằng hệ thống tên miền cơ sở URL là phán quyết tồi tệ, áp đặt một kiến ​​trúc phân cấp trên các tài nguyên không phù hợp với web siêu văn bản.

Cấu trúc URI

URI = [lược đồ ":"] phân cấp - phần [ "?" yêu cầu] ["#" đoạn]

Trong mục này:

Cơ chế

lược đồ truy cập tài nguyên (thường chỉ ra giao thức mạng), ví dụ: http, ftp, tệp, ldap, mailto, urn

phân cấp-phần

chứa dữ liệu, thường được tổ chức theo dạng phân cấp, cùng với dữ liệu trong một thành phần không phân cấp lời yêu cầu, được sử dụng để xác định một tài nguyên trong phạm vi của một lược đồ URI. Thường xuyên phân cấp-phần chứa đường dẫn đến tài nguyên (và có thể, trước nó, địa chỉ của máy chủ mà nó được đặt trên đó) hoặc định danh tài nguyên (trong trường hợp là URN).

Lời yêu cầu

thành phần URI tùy chọn này được mô tả ở trên.

Miếng

(cũng không bắt buộc)

Cho phép bạn gián tiếp xác định tài nguyên thứ cấp bằng cách tham chiếu đến tài nguyên chính và chỉ định thông tin bổ sung. Tài nguyên thứ cấp có thể nhận dạng có thể là một số phần hoặc một tập hợp con của tài nguyên chính, một số đại diện của nó hoặc một tài nguyên khác được định nghĩa hoặc mô tả bởi tài nguyên đó.

Phân tích cú pháp cấu trúc URI.Đối với cái gọi là URI "phân tích cú pháp" (tương tác phân tích cú pháp), nghĩa là, để phân tách một URI thành các phần thành phần của nó và sau đó xác định chúng, thuận tiện nhất là sử dụng hệ thống biểu thức chính quy hiện đã có trong hầu hết các ngôn ngữ lập trình hiện đại. RFC 3986 khuyến nghị sử dụng mẫu sau để phân tích cú pháp URI:

Mẫu này bao gồm 9 nhóm được biểu thị bằng các con số ở trên (để biết thêm thông tin về các mẫu và nhóm, xem bên dưới). Biểu thức chính quy) phân tích cú pháp đầy đủ và chính xác nhất cấu trúc URI điển hình, trong đó:

  • nhóm 2 - lược đồ,
  • nhóm 4 - nguồn,
  • nhóm 5 - đường dẫn,
  • nhóm 7 - yêu cầu,
  • nhóm 9 - mảnh.

Vì vậy, nếu sử dụng mẫu này để phân tích cú pháp, chẳng hạn như một URI điển hình:

http://www.ics.uci.edu/pub/ietf/uri/#Related

thì 9 nhóm mẫu trên sẽ lần lượt cho kết quả như sau:

  1. http:
  2. //www.ics.uci.edu
  3. www.ics.uci.edu
  4. / pub / ietf / uri /
  5. không kết quả
  6. không kết quả
  7. #Có liên quan
  8. có liên quan

Ví dụ về URI:

URI tuyệt đối

  • https://ru.wikipedia.org/wiki/URI
  • ftp://ftp.is.co.za/rfc/rfc1808.txt
  • file: // C: \ UserName.HostName \ Projects \ Wikipedia_Articles \ URI.xml
  • tệp: /// C: /file.wsdl
  • tệp: ///Users/John/Documents/Projects/Web/MyWebsite/about.html
  • ldap: /// c = GB? objectClass? one
  • mailto: [email được bảo vệ]
  • một hớp: [email được bảo vệ]
  • news: comp.infosystems.www.servers.unix
  • dữ liệu: text / trơn; charset = iso-8859-7,% be% be% be
  • điện thoại: + 1-816-555-1212
  • telnet: //192.0.2.16: 80 /
  • urn: oasis: tên: đặc điểm kỹ thuật: docbook: dtd: xml: 4.1.2

2) URI tương đối

  • /relative/URI/with/absolute/path/to/resource.txt
  • //example.org/scheme-relative/URI/with/absolute/path/to/resource.txt
  • rel / path / to / resource.txt
  • ../../../resource.txt
  • resource.txt
  • /resource.txt#frag01
  • # frag01

[chuỗi trống] - tương đương với việc phân tích cú pháp mã định danh bằng trình phân tích cú pháp với kết quả [chuỗi trống], tức là liên kết dẫn đến đối tượng mặc định trong lược đồ mặc định

Dịch vụ DNS

DNS - hệ thống tên miền. Tên miền DNS đồng nghĩa với địa chỉ IP, cũng giống như tên trong danh bạ điện thoại của bạn đồng nghĩa với số điện thoại. Chúng là ký tự, không phải số; chúng thuận tiện hơn cho việc ghi nhớ và định hướng; chúng mang ý nghĩa. www.irnet.ru → Bảng DNS → 193.232.70.36 Tên miền cũng là duy nhất, tức là Không có hai tên miền giống nhau trên thế giới. Tên miền, không giống như địa chỉ IP, là tùy chọn, chúng được mua riêng.

Cơm. 2. Phân cấp trong hệ thống DNS.

Cũng duy nhất là các địa chỉ được ghi trên phong bì khi chuyển thư bằng thư thông thường. Không có quốc gia nào trên thế giới trùng tên. Và nếu tên của các thành phố đôi khi được lặp lại, thì kết hợp với việc phân chia thành các đơn vị hành chính lớn hơn như huyện và vùng, chúng trở thành duy nhất. Và không nên lặp lại tên đường trong cùng một thành phố. Do đó, một địa chỉ dựa trên tên địa lý và hành chính xác định duy nhất một điểm đến. Các miền có hệ thống phân cấp tương tự. Các tên miền được ngăn cách với nhau bằng dấu chấm: lingvo.yandex.ru, krkime.com.

DNS có những đặc điểm sau:

  • Phân phối quản trị. Những người hoặc tổ chức khác nhau chịu trách nhiệm về các phần khác nhau của cấu trúc phân cấp.
  • Phân phối lưu trữ thông tin. Mỗi nút mạng nhất thiết phải chỉ lưu trữ những dữ liệu được bao gồm trong lĩnh vực trách nhiệm, và (có thể) địa chỉ máy chủ DNS gốc.
  • Bộ nhớ đệm thông tin. Thắt nút có lẽ lưu trữ một lượng dữ liệu nhất định không thuộc khu vực phụ trách của họ để giảm tải trên mạng.
  • Cấu trúc phân cấp, trong đó tất cả các nút được kết hợp thành một cây và mỗi nút có thể xác định độc lập công việc của các nút hạ lưu, hoặc ủy nhiệm(truyền) chúng đến các nút khác.
  • Sự đặt chỗ. Một số máy chủ (thường) chịu trách nhiệm lưu trữ và duy trì các nút (vùng) của chúng, được tách biệt cả về mặt vật lý và logic, đảm bảo an toàn cho dữ liệu và sự tiếp tục của công việc ngay cả khi một trong các nút bị lỗi.

Các cấp độ miền. Có ba cấp miền.

Miền cấp đầu tiên hoặc cấp cao nhất được chia thành hai nhóm:

1) Đây là những miền có liên kết lãnh thổ, ví dụ: .ru .by .ua .de .us, v.v. Nghĩa là, đây là những miền được gán cho một quốc gia cụ thể. Ví dụ, khi sử dụng chúng, bạn có thể xác định một trang web cụ thể thuộc về quốc gia nào.

2) Nhóm thứ hai của tên miền cấp một là những tên miền của một số mục đích cụ thể. Ví dụ: .com - dành cho các tổ chức thương mại, .info - dành cho các trang thông tin, .tv - dành cho công ty truyền hình vv Bằng các tên miền này, bạn có thể xác định trọng tâm cụ thể của trang web. Mặc dù, nói thật, trong thời gian gần đây, chúng ngày càng được sử dụng nhiều hơn cho bất kỳ mục đích nào và thường không tuân theo mục đích của chúng.

Tên miền cấp cao nhất không thể được sử dụng làm địa chỉ trang web của bạn. Chúng phục vụ để tạo tên miền Cấp độ thứ hai , vì vậy bạn có thể đăng ký miền cấp hai trên bất kỳ miền cấp một nào. Miền cấp hai bao gồm các phần tử sau: www.site_name.fiên miền cấp một. Ví dụ: www.webmastermix.ru. Nên sử dụng tên miền cấp hai cho địa chỉ trang web. Chúng được mọi người đọc và ghi nhớ tốt nhất, cũng như cảm nhận công cụ tìm kiếm. Do đó, hầu hết các trang web đều có tên miền ở cấp độ cụ thể này.

Ngoài ra, còn có các miền cấp độ thứ ba . Chúng được tạo trên cơ sở các miền cấp hai. Miền cấp ba trông giống như sau: www.forum.webmastermix.ru. Bằng cách đăng ký miền cấp hai, bạn có thể tạo độc lập bao nhiêu miền cấp ba trên cơ sở nó tùy thích. Bạn có thể đăng ký một tên miền cho trang web của mình bằng các dịch vụ đặc biệt.

CÔNG NGHỆ WEB: HTML, JAVASCRIPT

Phần đầu tiên của khối giáo khoa ở trên chủ đề này được dành cho các công nghệ Internet. Bây giờ chúng ta bắt đầu nghiên cứu các công nghệ được sử dụng trong toàn thế giới web, hoặc công nghệ web.

Trước tiên, bạn cần hiểu các khái niệm cơ bản về công nghệ web: một trang web và một trang web. Trang web là đơn vị logic nhỏ nhất của World Wide Web, là tài liệu được xác định duy nhất bằng một URL duy nhất. Trang web là một tập hợp các trang web có liên quan theo chủ đề nằm trên cùng một máy chủ và thuộc sở hữu của cùng một chủ sở hữu. Trong một trường hợp cụ thể, một trang web có thể được đại diện bởi một trang web duy nhất. World Wide Web là tập hợp của tất cả các trang web.

Ngôn ngữ đánh dấu là nền tảng của World Wide Web. Siêu văn bản HTML- Ngôn ngữ đánh dấu siêu văn bản (Hình 3). Nó phục vụ cho việc đánh dấu logic (ngữ nghĩa) của một tài liệu (trang web). Đôi khi nó bị lạm dụng để kiểm soát cách nội dung trang web được hiển thị trên màn hình điều khiển hoặc khi xuất ra máy in, điều này về cơ bản là trái với hệ tư tưởng được áp dụng trên World Wide Web.

Cơm. 3. Công nghệ web

Với mục đích kiểm soát việc hiển thị nội dung trang web, bảng xếp tầng kiểu (CSS). CSS theo nhiều cách tương tự như các kiểu được sử dụng trong trình xử lý văn bản phổ biến Word.

Các ngôn ngữ kịch bản được sử dụng để tạo tính năng động cho các trang web (menu thả xuống, hoạt ảnh). Ngôn ngữ kịch bản tiêu chuẩn trên World Wide Web là JavaScript. Cốt lõi của ngôn ngữ JavaScript là ECMAScript.

HTML, CSS, JavaScript là những ngôn ngữ mà bạn có thể tạo các trang web phức tạp tùy ý. Nhưng đây chỉ là cung cấp ngôn ngữ, trong khi trong các trình duyệt, tài liệu được biểu diễn dưới dạng một tập hợp các đối tượng, tập hợp các loại trong số đó là Mô hình Đối tượng Trình duyệt (BOM). Mô hình đối tượng trình duyệt là duy nhất cho mỗi mô hình, và do đó có vấn đề khi tạo các ứng dụng trình duyệt chéo. Do đó, Web Consortium đã đề xuất Mô hình Đối tượng Tài liệu (DOM), là một cách tiêu chuẩn để biểu diễn các trang web bằng cách sử dụng một tập hợp các đối tượng.

Cú pháp của HTML hiện đại được mô tả bằng ngôn ngữ có thể mở rộng Đánh dấu XML- Ngôn ngữ đánh dấu có thể mở rộng. XML sẽ cho phép bạn tạo các ngôn ngữ đánh dấu của riêng mình, tương tự như HTML ở dạng DTD. Có nhiều ngôn ngữ như vậy: để biểu diễn các công thức toán học và hóa học, kiến ​​thức, v.v.

Như có thể thấy ở trên, tất cả các công nghệ web được kết nối chặt chẽ với nhau. Hiểu được thực tế này sẽ giúp bạn dễ dàng hiểu được mục đích của một cơ chế cụ thể được sử dụng để tạo các ứng dụng web.

E-MAIL

Thư điện tử (email, e-mail, từ thư điện tử tiếng Anh) - công nghệ và các dịch vụ mà nó cung cấp để gửi và nhận tin nhắn điện tử(được gọi là "thư" hoặc "e-mail") qua mạng máy tính phân tán. Sự khác biệt chính so với các hệ thống nhắn tin khác là khả năng gửi chậm trễ và một hệ thống tương tác được phát triển giữa các máy chủ mail độc lập.

E-mail giúp bạn có thể gửi và nhận tin nhắn, trả lời thư của người gửi thư tự động bằng cách sử dụng địa chỉ của họ, gửi bản sao của bức thư đến nhiều người nhận cùng một lúc, chuyển tiếp bức thư đã nhận đến một địa chỉ khác, sử dụng tên logic thay vì địa chỉ (số hoặc tên miền), tạo một số tiểu mục của hộp thư cho tất cả các loại thư từ, bao gồm các tệp văn bản trong thư, sử dụng hệ thống "phản ánh thư" để tiến hành thảo luận với một nhóm thư từ của bạn, v.v. Để gửi thư bằng e-mail, bạn phải chỉ định địa chỉ hộp thư. Hộp thư của người đăng ký e-mail là một khu vực trên ổ cứng của máy chủ thư dành riêng cho người dùng.

Sự phát triển của công nghệ Internet đã dẫn đến sự xuất hiện của các giao thức nhắn tin hiện đại mang lại cơ hội lớn cho việc xử lý thư từ, nhiều dịch vụ đa dạng và dễ sử dụng. Vì vậy, ví dụ, giao thức SMTP, hoạt động trên nguyên tắc máy khách-máy chủ, được thiết kế để gửi tin nhắn từ máy tính đến người nhận địa chỉ. Thông thường, quyền truy cập vào máy chủ SMTP không được bảo vệ bằng mật khẩu, vì vậy bất kỳ máy chủ nào đã biết trên mạng đều có thể được sử dụng để gửi thư. Không giống như máy chủ để gửi thư, quyền truy cập vào máy chủ để lưu trữ thư được bảo vệ bằng mật khẩu. Do đó, bạn phải sử dụng máy chủ hoặc dịch vụ có tài khoản. Các máy chủ này sử dụng các giao thức POP và IMAP, các giao thức này khác nhau về cách lưu trữ thư.

Theo giao thức POP3, các thông báo đến một địa chỉ cụ thể được lưu trữ trên máy chủ cho đến khi chúng được tải xuống máy tính trong phiên tiếp theo. Sau khi tải xuống tin nhắn, bạn có thể ngắt kết nối khỏi mạng và bắt đầu đọc thư. Như vậy việc sử dụng mail qua giao thức POP3 là nhanh chóng và tiện lợi nhất.

Giao thức IMAP thuận tiện cho những người sử dụng kết nối vĩnh viễn với mạng. Thư nhận được tại địa chỉ cũng được lưu trữ trên máy chủ, nhưng, không giống như POP3, khi kiểm tra thư, chỉ tiêu đề thư sẽ được tải xuống trước. Bản thân bức thư có thể được đọc sau khi chọn tiêu đề thư (nó sẽ được tải xuống từ máy chủ). Rõ ràng là với kết nối quay số, làm việc với thư bằng giao thức này dẫn đến mất thời gian một cách vô cớ.

Có một số giao thức để nhận và truyền thư giữa các hệ thống nhiều người dùng.

Mô tả ngắn gọn về một số trong số họ:

1) SMTP (Giao thức truyền thư đơn giản) là một giao thức mạng được thiết kế để truyền e-mail trong mạng TCP / IP và quá trình truyền nhất thiết phải được bắt đầu bởi chính hệ thống truyền.

MTA (Mail Transfer Agent) - tác nhân chuyển thư - là thành phần chính của hệ thống truyền thư Internet, đại diện cho một máy tính mạng nhất định cho hệ thống e-mail mạng. Thông thường, người dùng không làm việc với MTA, nhưng với chương trình MUA (Mail User Agent) - một ứng dụng khách e-mail. Sơ đồ nguyên lý tương tác được thể hiện trong hình.

2) POP, POP2, POP3 (Giao thức Bưu điện)- ba giao thức khá đơn giản không thể thay thế được thiết kế để gửi thư đến người dùng từ máy chủ thư trung tâm, xóa thư khỏi máy chủ và xác định người dùng bằng tên / mật khẩu. POP bao gồm SMTP, được sử dụng để chuyển thư có nguồn gốc từ người dùng. Thư có thể được nhận dưới dạng tiêu đề, mà không cần nhận toàn bộ thư.

Sau khi kết nối được thiết lập, giao thức POP3 sẽ trải qua ba trạng thái liên tiếp.

      1. Ủy quyền Khách hàng trải qua thủ tục xác thực
      2. Giao dịch khách hàng nhận thông tin về trạng thái của hộp thư, chấp nhận và xóa thư.
      3. Bản cập nhật máy chủ sẽ xóa các email đã chọn và đóng kết nối.

3) IMAP2, IMAP2bis, IMAP3, IMAP4, IMAP4rev1 (Tin nhắn Internet Giao thức truy cập) - cung cấp cho người dùng nhiều cơ hội để làm việc với các hộp thư nằm trên máy chủ trung tâm

o IMAP lưu trữ thư trên máy chủ trong các thư mục tệp và cũng cung cấp cho máy khách khả năng tìm kiếm các chuỗi trong tin nhắn thư trên chính máy chủ.

o IMAP2 - được sử dụng trong một số trường hợp hiếm hoi.

o IMAP3 - giải pháp không tương thích, không được sử dụng.

o IMAP2bis - Phần mở rộng IMAP2, cho phép máy chủ phân tích cú pháp cấu trúc MIME (Phần mở rộng Thư Internet Đa năng) của một thư, vẫn được sử dụng cho đến ngày nay.

o IMAP4 là IMAP2bis được thiết kế lại và nâng cao có thể được sử dụng ở mọi nơi.

o IMAP4rev1 - Mở rộng IMAP với một tập hợp lớn các tính năng, bao gồm cả những tính năng được sử dụng bởi DMSP (Hệ thống Thư phân tán cho Máy tính Cá nhân).

4) ACAP (Giao thức truy cập cấu hình ứng dụng) - một giao thức được thiết kế để hoạt động với IMAP4; thêm khả năng đăng ký tìm kiếm và đăng ký bảng thông báo, hộp thư và được sử dụng để tìm kiếm sổ địa chỉ.

5) DMSP (hoặc PCMAIL) là một giao thức để nhận / gửi thư, tính đặc biệt của nó là người dùng có thể có nhiều hơn một máy trạm để sử dụng. Máy trạm chứa thông tin trạng thái về thư, thư mục mà thông qua đó quá trình trao đổi diễn ra, khi kết nối với máy chủ, thông tin này sẽ được cập nhật lên trạng thái hiện tại trên máy chủ thư.

6) MIME là một tiêu chuẩn xác định các cơ chế để gửi nhiều loại thông tin khác nhau qua email, bao gồm văn bản bằng các ngôn ngữ không phải tiếng Anh sử dụng mã hóa ký tự không phải ASCII và nội dung nhị phân 8 bit như ảnh, nhạc, phim và chương trình.

Làm việc độc lập.

Chạy ví dụ được đưa ra trong văn bản (tài liệu phát tay) và lưu nó trong thư mục của riêng bạn trên màn hình của bạn.

9.2. Làm việc với một giáo viên:

Nếu có khó khăn hoặc thao tác sai thì liên hệ với giáo viên để sửa lỗi.

Vào cuối buổi học, hãy cho giáo viên xem báo cáo về công việc đã thực hiện và nhận được tín nhiệm cho công việc này.

9.3. Kiểm soát mức độ kiến ​​thức ban đầu và cuối cùng:

Kiểm tra máy tính .


Thông tin tương tự.


Để truy cập bất kỳ tài nguyên mạng nào, bạn cần biết chúng nằm ở đâu và có thể truy cập chúng bằng cách nào. World Wide Web sử dụng một sơ đồ nhận dạng và định địa chỉ được tiêu chuẩn hóa, có tính đến trải nghiệm xác định địa chỉ và nhận dạng của e-mail, Gopher, WAIS, telnet, ftp, và những thứ tương tự. - URL, Bộ định vị tài nguyên thống nhất.

URI(Định danh tài nguyên đồng nhất, Định danh tài nguyên đồng nhất) (RFC 2396, tháng 8 năm 1998) Một chuỗi ký tự nhỏ gọn để xác định một tài nguyên trừu tượng hoặc vật lý. Tài nguyên là bất kỳ đối tượng nào thuộc không gian nào đó. Bao gồm và ghi đè các URL đã xác định trước đó (RFC 1738 / RFC 1808) và URN (RFC 2141, RFC 2611).

URI nhằm mục đích xác định duy nhất bất kỳ tài nguyên nào.

Một số tập hợp con của URI:

URN(Tên tài nguyên đồng nhất) - Lược đồ "urn:" URI riêng tư với tập con "không gian tên" phải là duy nhất và không thay đổi ngay cả khi tài nguyên không còn tồn tại hoặc không có sẵn.

Giả định rằng, chẳng hạn, trình duyệt biết nơi tìm tài nguyên này.

Cú pháp:

urn: namespace: data1.data2, more-data trong đó không gian tên chỉ định cách dữ liệu sau dấu ":" thứ hai được sử dụng.

Ví dụ về URN:

urn: ISBN: 0-395-36341-6

ISBN - bộ phân loại chuyên đề dành cho nhà xuất bản

0-395-36341-6 - số cụ thể của chủ đề sách hoặc tạp chí



Khi nhận được URN, chương trình khách hàng truy cập vào ISBN (thư mục "bộ phân loại chủ đề dành cho nhà xuất bản" trên Internet). Và anh ta nhận được giải mã của chủ đề số "0-395-36341-6" (ví dụ: "hóa học lượng tử").

URN được sử dụng rộng rãi trong các mạng P2P (như edonkey).

Ví dụ về URN trỏ tới ảnh đĩa Adobe Photoshop v8.0 trên mạng edonkey:

urn: ed2k: // | file | AdobePhotoshopv8.0.iso | 940769280 | | /

ed2k - trỏ đến một mạng

Adobe Photoshop v8.0.iso - tên tệp

940769280 - kích thước tính bằng byte

- mã định danh tệp (được tính bằng hàm băm)

URL bộ định vị tài nguyên thống nhất:

URL(Uniform Resource Locator, RFC 1738) - một bộ định vị tài nguyên thống nhất (con trỏ), một cách tiêu chuẩn hóa để ghi lại địa chỉ tài nguyên trong WWW và Internet. URL có cấu trúc linh hoạt và có thể mở rộng cho vị trí tự nhiên nhất của tài nguyên trên mạng, xác định tài nguyên theo cách nó được truy cập (ví dụ: "vị trí của nó trên mạng"), thay vì xác định nó bằng tên hoặc các thuộc tính khác của tài nguyên này.

Ví dụ về URL:

http://www.ipm.kstu.ru/index.php

ftp://www.ipm.kstu.ru/

Một bộ ký tự ASCII giới hạn được sử dụng để đại diện cho một địa chỉ.

Hình thức chungđịa chỉ có thể được biểu diễn như thế này:

<схема>://<логин>:<пароль>@<хост>:<порт>/<полный-путь-к-ресурсу >

lược đồ truy cập tài nguyên: http, ftp, gopher, mailto, news, telnet, file, man, info, whatis, ldap, wais, v.v.

Mật khẩu đăng nhập- tên người dùng và mật khẩu được sử dụng để truy cập tài nguyên

chủ nhà tên miền của máy chủ lưu trữ hoặc địa chỉ IP của máy chủ.

Hải cảng- cổng máy chủ để kết nối

toàn bộ đường dẫn đến tài nguyên - xác định thông tin về vị trí của tài nguyên (phụ thuộc vào giao thức).

Ví dụ về URL:

http://example.com #default yêu cầu trang bắt đầu

http://www.example.com/site/map.html #yêu cầu trang nhất định trong thư mục nhất định

http://example.com:81/script.php #connect tới một cổng không chuẩn

http://example.org/script.php?key=value #request với tham số được truyền tới tập lệnh

ftp: // người dùng: [email được bảo vệ]# kết nối với máy chủ ftp có ủy quyền

http://192.168.0.1/example/www # kết nối với địa chỉ mạng

tệp: ///srv/www/htdocs/index.html #opening tệp cục bộ

gopher: //example.com/1 #connect tới máy chủ gopher

URL - Bộ định vị tài nguyên đồng nhất mô tả rõ ràng cách truy cập đối tượng.

Sự ra đời của URL đã trở thành một sự đổi mới đáng kể trên Internet. Tuy nhiên, kể từ khi được phát minh và cho đến ngày nay, tiêu chuẩn URL có một nhược điểm nghiêm trọng - nó chỉ có thể sử dụng một bộ ký tự hạn chế, thậm chí còn nhỏ hơn trong ASCII: chữ cái Latinh, số và chỉ một số dấu câu -.

Nếu chúng ta muốn sử dụng các ký tự Cyrillic, hoặc chữ tượng hình, hoặc, ví dụ, các ký tự tiếng Pháp cụ thể trong URL, thì các ký tự chúng ta cần phải được mã hóa theo một cách đặc biệt.

Trong Wikipedia tiếng Nga, người ta thấy các ví dụ về mã hóa URL mỗi ngày, vì tiếng Nga sử dụng các ký tự Cyrillic. Ví dụ, một dòng như:

http://en.wikipedia.org/wiki/Microcredit

được mã hóa trong URL dưới dạng:

http://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D1%80%D0%B5%D0%B4%D0 % B8% D1% 82

Việc chuyển đổi như vậy diễn ra trong hai giai đoạn: đầu tiên, mỗi ký tự Cyrillic được mã hóa bằng Unicode (UTF-8) thành một chuỗi hai byte và sau đó mỗi byte của chuỗi này được viết bằng biểu diễn thập lục phân:

M → D0 và 9C →% D0% 9C

và → D0 và B8 →% D0% B8

đến → D0 và BA →% D0% BA

p → D1 và 80 →% D1% 80, v.v.

Mỗi mã byte thập lục phân như vậy, theo đặc tả URL, được đặt trước bằng dấu phần trăm (%) - do đó, ngay cả thuật ngữ tiếng Anh "mã hóa phần trăm" cũng bắt nguồn, biểu thị cách các ký tự được mã hóa trong URL và URI.

Vì các chữ cái của tất cả các bảng chữ cái đều bị biến đổi như vậy, ngoại trừ bảng chữ cái Latinh cơ bản, một URL chứa các từ trong đại đa số các ngôn ngữ (ngoại trừ tiếng Anh, tiếng Ý, tiếng Latinh) có thể trở nên không thể đọc được đối với một người.

Tất cả điều này mâu thuẫn với nguyên tắc của chủ nghĩa quốc tế được tuyên bố bởi tất cả các tổ chức hàng đầu của Internet, bao gồm W3C và ISOC. Vấn đề này được dự định sẽ được giải quyết bằng tiêu chuẩn IRI (Mã định danh tài nguyên quốc tế) - các mã định danh tài nguyên quốc tế trong đó các ký tự Unicode có thể được sử dụng mà không gặp sự cố và do đó sẽ không vi phạm quyền của các ngôn ngữ khác.

Các lược đồ URL khác

Lược đồ HTTP.

Lược đồ chỉ định mã định danh, địa chỉ máy, cổng TCP, đường dẫn trong thư mục máy chủ, các biến và giá trị của chúng, nhãn.

Cú pháp:

http: // [ [:@][:][?]]

http - tên lược đồ

người dùng - tên người dùng

máy chủ - tên máy chủ

cổng - số cổng

truy vấn(<имя-поля>=<значение>{&<имя-поля>=<значение>) - chuỗi truy vấn

Được xác định trong RFC 2068. Theo mặc định, cổng = 80.

Ví dụ:
http://ipm.kstu.ru/internet/index.php

Đây là loại URI phổ biến nhất được sử dụng trong các tài liệu WWW. Tên lược đồ (http) được theo sau bởi một đường dẫn bao gồm địa chỉ miền của máy và địa chỉ đầy đủ của tài liệu HTML trong cây máy chủ HTTP.

Địa chỉ IP cũng có thể được sử dụng làm địa chỉ máy:

http://195.208.44.20/internet/index.php

Nếu máy chủ giao thức HTTP đang chạy trên một cổng TCP khác với cổng 80, thì điều này được phản ánh trong địa chỉ:

http://195.208.44.20:8080/internet/index.php

http://195.208.44.20/internet/index.php#metka1
Ký tự "#" ngăn cách tên tài liệu với tên nhãn.

Các biến và giá trị của chúng được chuyển như sau:
http://ipm.kstu.ru/internet/index.php?var1=value1&vard2=value2

Các giá trị "var1" và "var2" là tên biến và "value1" và "value2" là giá trị của chúng.

Lược đồ FTP

Lược đồ này cho phép bạn giải quyết các kho lưu trữ tệp FTP.

Cú pháp:

ftp: // [ [:@][:]

ftp - tên giản đồ

người dùng - tên người dùng

mật khẩu - mật khẩu người dùng

máy chủ - tên máy chủ

cổng - số cổng

url-path - đường dẫn đến tệp và chính tệp đó

Được xác định trong RFC 1738. Theo mặc định, cổng = 21, người dùng = ẩn danh, mật khẩu = địa chỉ email, nếu tên được chỉ định nhưng không có mật khẩu, tên đó được yêu cầu trong hộp thoại.

giống như:

//...//[; loại = ], ở đâu :

Ví dụ: ftp://ipm.kstu.ru/students/name/

Để chỉ định tên người dùng và mật khẩu, bạn cần viết như sau:
ftp: // tên: [email được bảo vệ]: //ipm.kstu.ru/students/name/

Trong trường hợp này, các tham số này được phân tách khỏi địa chỉ máy bằng ký hiệu "@" và với nhau bằng dấu hai chấm.

Lược đồ mailto

Đề án này là để gửi thư.

Cú pháp:

mailto: [ {,,...}][?]

mailto - tên lược đồ

e-mail-1 ( @) - địa chỉ email đầu tiên

người dùng - tên người dùng

máy chủ - tên máy chủ

e-mail-2 - địa chỉ email thứ hai

truy vấn(<имя-поля-заголовка>=<значение>{&<имя-поля-заголовка>=<значение>) - chuỗi truy vấn

mailto: [email được bảo vệ]

Trong lược đồ này, các trường và giá trị của chúng được chuyển:

mailto: [email được bảo vệ]? subject = Subject_of_the_mail & body = Text_to_be_embedded_in_the_mail

Địa chỉ của người nhận cũng có thể được viết dưới dạng giá trị của trường to:

mailto: [email được bảo vệ]? subject = Subject_of_the_mail & body = Text_to_be_embedded_in_the_mail

HTTP là gì?

Tài liệu đầu tiên (nhưng không phải là tiêu chuẩn) là RFC1945 (Giao thức truyền siêu văn bản - HTTP / 1.0 T. Berners-Lee, R. Fielding, H. Frystyk tháng 5 năm 1996)

Phiên bản mới nhất là RFC2616 (Giao thức truyền siêu văn bản - HTTP / 1.1 R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee tháng 6 năm 1999)

Hypertext Transfer Protocol là một giao thức truyền siêu văn bản, một giao thức cấp cao (cụ thể là cấp ứng dụng). Được sử dụng bởi dịch vụ WWW để chuyển các trang Web.

HTTP (HyperText Transfer Protocol, RFC 2616, phiên bản hiện tại HTTP / 1.1) là một giao thức truyền siêu văn bản. Giao thức này ban đầu dành cho việc trao đổi các tài liệu siêu văn bản, giờ đây, khả năng của nó đã được mở rộng đáng kể (đặc biệt, các tính năng hỗ trợ phát trực tuyến đã được thêm vào).

HTTP là một giao thức client-server điển hình, các thông điệp được trao đổi theo lược đồ "request-response" dưới dạng các lệnh ASCII. Một tính năng của giao thức HTTP là khả năng chỉ định trong yêu cầu và phản hồi như thế nào cùng một tài nguyên được biểu diễn bằng các tham số khác nhau: định dạng, mã hóa, ngôn ngữ, v.v. Đó là nhờ khả năng chỉ định phương pháp mã hóa thông báo mà máy khách và máy chủ có thể trao đổi dữ liệu nhị phân, mặc dù giao thức này là văn bản.

HTTP là một giao thức lớp ứng dụng nhưng cũng được sử dụng như một "phương tiện vận chuyển" cho các giao thức ứng dụng khác như SOAP, XML-RPC, WebDAV.

Giao thức HTTP xác định phương thức tương tác yêu cầu-phản hồi giữa chương trình khách và chương trình máy chủ trong khuôn khổ của công nghệ World Wide Web.

Để tải một trang web xuống trình duyệt máy khách, nó sẽ gửi một yêu cầu đến một chương trình đặc biệt được cài đặt trên máy chủ, được gọi là máy chủ http và xử lý dữ liệu nhận được từ đó. Trong trường hợp này, các chức năng của trình duyệt là yêu cầu một trang nhất định từ máy chủ, lấy nó và hiển thị nó trên màn hình của người dùng. Mặt khác, máy chủ chấp nhận yêu cầu, tìm kiếm tài liệu được yêu cầu và cung cấp cho máy khách nội dung của tệp được tìm thấy hoặc thông báo lỗi nếu tệp đó không được tìm thấy hoặc quyền truy cập vào nó bị từ chối vì lý do nào đó. Một điểm quan trọngđể hiểu quá trình này là máy chủ http không phân tích nội dung của tài liệu được truyền. Nói một cách đại khái, máy chủ http không quan tâm đến những gì bên trong tệp được yêu cầu, nó chỉ chuyển nó đến trình duyệt và trình duyệt đã đảm nhận tất cả công việc cấu trúc và hiển thị thông tin nhận được.

Việc tìm kiếm trang được yêu cầu được thực hiện trong một thư mục cụ thể, được phân bổ trên máy chủ cho trang này - một liên kết đến thư mục này có trong địa chỉ do người dùng nhập vào. Trong trường hợp khi yêu cầu không được thực hiện cho một tài liệu cụ thể mà cho toàn bộ trang web, máy chủ http sẽ tự động thay thế cái gọi là " trang bắt đầu”, Được đặt tên là index.htm hoặc index.html (trong một số trường hợp, default.htm hoặc default.html). Tài liệu này phải được đặt trong thư mục gốc được chỉ định để lưu trữ trang web của bạn, hoặc, nếu được chỉ định, trong thư mục có tên WWW. Tất cả các tệp khác có thể được đặt trong cùng một thư mục hoặc trong các thư mục lồng nhau, điều này đôi khi rất tiện lợi, đặc biệt là khi trang web chứa một số phần hoặc tiêu đề chuyên đề.

Ngoài các thư mục con bạn tạo, trong đó bạn có thể tự do đặt hầu như bất kỳ nội dung nào bạn cần, thư mục máy chủ thường chứa một số thư mục khác nên được đề cập riêng. Thứ nhất, đây là thư mục CGI-BIN, nơi chứa các tập lệnh CGI và các ứng dụng tương tác khác được khởi chạy từ trang web của bạn, cũng như một số thư mục dịch vụ cần thiết cho hoạt động bình thường của máy chủ. Ở giai đoạn đầu, chúng chỉ đơn giản là không nên được chú ý đến. Đôi khi trong cùng một thư mục lưu trữ index.html, có một số tệp bổ sung: not_found.html - một tài liệu được hiển thị nếu máy chủ http không thể tìm thấy tệp do người dùng yêu cầu, Cấm.html - được hiển thị dưới dạng thông báo lỗi, nếu quyền truy cập vào tài liệu được yêu cầu bị từ chối và cuối cùng, robots.txt là một tệp mô tả cụ thể các quy tắc để lập chỉ mục trang web của bạn bởi các công cụ tìm kiếm.

Trong hầu hết các trường hợp, và đặc biệt là khi xuất bản trang chủ trên các máy chủ cung cấp lưu trữ miễn phí, quyền truy cập vào các thư mục dịch vụ và thư mục CGI-BIN bị từ chối đối với người dùng và việc thay đổi nội dung của các tệp not_found và Cấm.html cũng không thể thực hiện được. Điều này cần được tính đến nếu bạn dự định đưa bất kỳ nội dung tương tác nào vào tài nguyên của mình mà yêu cầu ít nhất khả năng đặt tệp trong một trong các thư mục dịch vụ. Trong một số trường hợp, bạn có thể không được phép tạo các thư mục lồng nhau trên máy chủ, trong trường hợp đó, người dùng sẽ phải bằng lòng với chỉ một thư mục dành riêng cho nhu cầu của bạn.

Từ tất cả những điều trên, rõ ràng là trình duyệt máy khách chỉ có thể nhận và xử lý thông tin từ máy chủ, đồng thời đặt và sửa đổi thông tin đó chỉ khi việc tải tệp lên máy chủ được triển khai dựa trên giao thức HTTP bằng cách sử dụng các tập lệnh CGI đặc biệt có trong web máy chủ. -giao diện. Trong tất cả các trường hợp khác, bạn phải sử dụng cái gọi là ftp-server, bằng cách sử dụng phần mềm đặc biệt, bạn có thể chuyển các tệp cần thiết, tự động tải chúng lên thư mục được chỉ định cho trang web của bạn. Trong cả hai trường hợp, bạn sẽ cần biết tên đăng nhập và mật khẩu của mình để truy cập hệ thống. Cũng nên nhớ rằng hầu hết các chương trình máy chủ (đặc biệt là Apache dành cho các nền tảng tương thích với UNIX) phân biệt giữa ký tự viết thường và viết hoa, vì vậy tất cả các tên tệp và phần mở rộng của chúng phải được viết bằng chữ thường để tránh lỗi và luôn bằng tiếng Latinh. Điều thứ hai là do sự khác biệt trong quá trình xử lý các bảng mã ngôn ngữ tiếng Nga, đặc trưng cho một số máy chủ nhất định.

Giao thức HTTP hoạt động như sau: chương trình khách thiết lập kết nối TCP với máy chủ (số cổng tiêu chuẩn là 80) và đưa ra một yêu cầu HTTP tới nó. Máy chủ xử lý yêu cầu này và đưa ra phản hồi HTTP cho máy khách.

Sự tương tác giữa máy khách và máy chủ Web được thực hiện bằng cách trao đổi các thông điệp. Thông báo HTTP được chia thành các yêu cầu từ máy khách đến máy chủ và phản hồi của máy chủ-máy khách.

Các tin nhắn yêu cầu và phản hồi có định dạng chung. Cả hai loại thông báo đều trông như thế này: đầu tiên xuất hiện một dòng bắt đầu, sau đó có thể là một hoặc nhiều trường tiêu đề, còn được gọi là tiêu đề, sau đó là một dòng trống (nghĩa là một dòng bao gồm các ký tự CR và LF), cho biết phần cuối của tiêu đề và sau đó có thể là nội dung của thư:

chuỗi ban đầu

trường tiêu đề 1

trường tiêu đề 2

trường tiêu đề N

nội dung tin nhắn

Tiêu đề HTTP

Định dạng dòng đầu máy khách và máy chủ khác nhau và sẽ được thảo luận bên dưới. Có bốn loại tiêu đề:

Tiêu đề chung (tiêu đề chung), có thể xuất hiện cả trong yêu cầu và phản hồi;

Tiêu đề yêu cầu (request-headers), chỉ có thể xuất hiện trong yêu cầu;

Tiêu đề phản hồi (tiêu đề phản hồi), chỉ có thể xuất hiện trong phản hồi;

Tiêu đề thực thể tham chiếu đến nội dung thư và mô tả nội dung của nó.

Mỗi tiêu đề bao gồm một tiêu đề, một ký tự dấu hai chấm ":" và một giá trị. Các tiêu đề quan trọng nhất được thể hiện trong Bảng 1.

Bảng 1

Tiêu đề HTTP

tiêu đề Mục đích
Tiêu đề đối tượng
cho phép Liệt kê các phương pháp được máy chủ hỗ trợ
mã hóa nội dung Cách mã hóa nội dung thư, chẳng hạn như để giảm kích thước
Thời lượng nội dung Độ dài tin nhắn tính bằng byte
loại nội dung Chứa ký hiệu kiểu nội dung MIME của phản hồi. Tùy thuộc vào giá trị Loại-Nội dung, trình duyệt coi phản hồi như một trang HTML, ảnh gif hoặc jpeg, tệp được lưu vào đĩa hoặc thứ gì đó khác và thực hiện hành động thích hợp. Một số kiểu nội dung: text / html - văn bản ở định dạng HTML (trang web); text / pure - văn bản thuần túy (tương tự như "notepad"); image / jpeg - hình trong Định dạng JPEG; image / gif - giống nhau, trong Định dạng GIF; Nó cũng có thể chuyển mã hóa cho dữ liệu văn bản. Ví dụ: charset = windows-1251 charset = koi8-rus Content-Length - độ dài của nội dung phản hồi tính bằng byte (kích thước tệp). Sửa đổi lần cuối - ngày và giờ thay đổi cuối cùng tài liệu.
ETag Một thẻ tài nguyên duy nhất trên máy chủ cho phép bạn so sánh các tài nguyên
Hết hạn Ngày và giờ khi tài nguyên trên máy chủ sẽ bị thay đổi và nó cần được truy xuất lại
Sửa đổi lần cuối Ngày và giờ nội dung được sửa đổi lần cuối
Tiêu đề phản hồi
Tuổi tác Số giây để thử lại yêu cầu nhận nội dung mới
địa điểm URI của tài nguyên cần truy cập để lấy nội dung
Thử lại sau Ngày và giờ hoặc số giây sau đó yêu cầu phải được thử lại để nhận được phản hồi thành công
người phục vụ Tên của phần mềm máy chủ đã gửi phản hồi
Yêu cầu tiêu đề
Chấp nhận Danh sách các loại nội dung được trình duyệt hỗ trợ theo thứ tự ưu tiên của trình duyệt này, ví dụ: Chấp nhận: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, application / vnd.ms-excel, application / msword , application / vnd. ms-powerpoint, * / * Điều này rõ ràng là cần thiết cho trường hợp máy chủ có thể phát hành cùng một tài liệu ở các định dạng khác nhau. Giá trị của tham số này chủ yếu được sử dụng bởi các tập lệnh CGI để tạo ra một phản hồi được điều chỉnh cho một trình duyệt nhất định.
Chấp nhận bộ mã Mã hóa ký tự trong đó khách hàng có thể chấp nhận nội dung văn bản
Chấp nhận mã hóa Cách máy chủ có thể mã hóa thông báo
Chủ nhà Máy chủ và số cổng mà tài liệu được yêu cầu
Nếu-Được sửa đổi-Kể từ Nếu-Đối sánh Nếu-Không-Đối sánh Nếu-Phạm vi Nếu-Không được Sửa đổi-Kể từ Yêu cầu tiêu đề để truy cập có điều kiện vào tài nguyên
Phạm vi Yêu cầu một phần của tài liệu
Đại lý người dùng Tên của phần mềm máy khách - giá trị là "tên mã" của trình duyệt, ví dụ: Mozilla / 4.0 (tương thích; MSIE 5.0; Windows 95; DigExt)
Đề mục chung
sự liên quan Connection (kết nối) - có thể lấy các giá trị Keep-Alive và đóng lại. Keep-Alive ("tiếp tục tồn tại") có nghĩa là sau khi phát hành tài liệu này, kết nối với máy chủ không bị gián đoạn và có thể đưa ra nhiều yêu cầu hơn. Hầu hết các trình duyệt hoạt động ở chế độ Keep-Alive, vì nó cho phép bạn "tải xuống" một trang html và hình ảnh cho nó trong một kết nối với máy chủ. Sau khi được thiết lập, Keep-Alive vẫn tồn tại cho đến khi lỗi đầu tiên hoặc được chỉ định rõ ràng trong yêu cầu kết nối: đóng tiếp theo. close - Kết nối bị đóng sau khi phản hồi yêu cầu này.
Ngày Ngày và giờ tin nhắn được tạo
pragma Các lệnh đặc biệt, dành riêng cho việc triển khai liên quan đến nội dung được chuyển
Chuyển mã hóa Thông điệp được mã hóa như thế nào trong quá trình truyền

Trong một số tiêu đề, giá trị là ngày và giờ. Chúng phải ở định dạng được mô tả trong RFC 1123, ví dụ:

Nội dung của thông báo chứa thông tin được truyền thực tế - trọng tải của thông báo. Nội dung thông báo là một chuỗi các octet (byte). Nội dung thư có thể được mã hóa, với phương pháp mã hóa được chỉ định trong tiêu đề của đối tượng Mã hóa nội dung.

Thông báo yêu cầu từ máy khách đến máy chủ bao gồm một dòng yêu cầu, các tiêu đề (chung, yêu cầu, đối tượng) và tùy chọn là nội dung thông báo.

Chuỗi yêu cầu bắt đầu bằng một phương thức, theo sau là ID tài nguyên được yêu cầu, phiên bản giao thức và các ký tự cuối dòng theo sau:

<Метод> <Идентификатор> <Версия HTTP>

Phương thức chỉ định phương thức áp dụng cho tài nguyên được yêu cầu. Ví dụ, phương thức GET nói rằng máy khách muốn lấy nội dung của tài nguyên. Mã định danh xác định tài nguyên được yêu cầu. Phiên bản HTTP được biểu thị bằng một chuỗi như sau:

http /<версия>.<подверсия>

Phương thức giao thức HTTP

Hãy xem xét các phương thức cơ bản của giao thức HTTP.

Phương thức OPTIONS yêu cầu thông tin về các tùy chọn kết nối (ví dụ: phương pháp, loại tài liệu, mã hóa) mà máy chủ hỗ trợ cho tài nguyên được yêu cầu. Phương pháp này cho phép máy khách xác định các tùy chọn và / hoặc yêu cầu liên quan đến tài nguyên hoặc khả năng của máy chủ mà không cần thực hiện bất kỳ hành động nào đối với tài nguyên hoặc bắt đầu tải xuống tài nguyên đó.

Nếu phản hồi của máy chủ không phải là thông báo lỗi, thì tiêu đề thực thể chứa thông tin có thể được coi là các tùy chọn kết nối. Ví dụ: tiêu đề Cho phép liệt kê tất cả các phương pháp được máy chủ hỗ trợ cho một tài nguyên nhất định.

Nếu từ định danh tài nguyên được yêu cầu là dấu hoa thị ("*"), thì yêu cầu TÙY CHỌN nhằm giải quyết toàn bộ máy chủ.

Nếu từ định danh tài nguyên được yêu cầu không phải là dấu hoa thị, thì yêu cầu TÙY CHỌN sẽ áp dụng cho các tùy chọn khả dụng khi kết nối với tài nguyên được chỉ định.

Phương thức GET cho phép bạn lấy bất kỳ thông tin nào liên quan đến tài nguyên được yêu cầu. Trong hầu hết các trường hợp, nếu định danh của tài nguyên được yêu cầu trỏ đến tài liệu (ví dụ: tài liệu văn bản, hình ảnh đồ họa, video), thì máy chủ sẽ trả về nội dung của tài liệu này (nội dung tệp). Nếu tài nguyên được yêu cầu là một ứng dụng (chương trình) tạo dữ liệu, thì dữ liệu được tạo sẽ được trả về trong phần nội dung của thông báo phản hồi chứ không phải là hình ảnh nhị phân của tệp thực thi. Ví dụ, điều này được sử dụng khi tạo các ứng dụng CGI. Nếu mã định danh của tài nguyên được yêu cầu trỏ đến một thư mục (thư mục, thư mục), thì tùy thuộc vào cài đặt máy chủ, nội dung của thư mục (danh sách tệp) hoặc nội dung của một trong các tệp nằm trong thư mục này (thường là index.html hoặc default.htm). Trong trường hợp thứ hai, tên thư mục có thể được chỉ định có hoặc không có ký tự "/" ở cuối. Trong trường hợp không có biểu tượng này ở cuối mã định danh, máy chủ sẽ đưa ra một trong các phản hồi chuyển hướng (với mã trạng thái 301 hoặc 302).

Có sự phân biệt giữa "GET có điều kiện", trong đó thông báo yêu cầu bao gồm các tiêu đề yêu cầu If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match hoặc If-Range. Phương thức GET có điều kiện chỉ yêu cầu chuyển một đối tượng nếu nó thỏa mãn các điều kiện được mô tả trong các tiêu đề được cung cấp. Phương thức GET có điều kiện được thiết kế để giảm tải xuống không cần thiết mạng, bởi vì nó cho phép bạn không tải lại dữ liệu đã được lưu bởi máy khách.

Một sự khác biệt cũng được thực hiện giữa "GET một phần", trong đó thông báo yêu cầu bao gồm tiêu đề yêu cầu Phạm vi. GET một phần chỉ yêu cầu chuyển một phần của đối tượng. Phương thức GET từng phần nhằm giảm tải mạng không cần thiết bằng cách chỉ yêu cầu một phần của đối tượng khi phần khác đã được máy khách tải. Giá trị của tiêu đề Phạm vi là phạm vi byte được nhận. Các byte được đánh số từ 0. Các byte bắt đầu và kết thúc của một dải ô được phân tách bằng ký tự "-". Nếu bạn cần lấy một số phạm vi, thì chúng được liệt kê cách nhau bằng dấu phẩy.

Phương thức HEAD giống với GET, ngoại trừ việc máy chủ không trả về nội dung thư trong phản hồi. Siêu thông tin có trong tiêu đề HTTP của phản hồi đối với yêu cầu HEAD giống với thông tin được cung cấp để phản hồi lại yêu cầu GET. Phương thức này có thể được sử dụng để lấy thông tin về đối tượng yêu cầu mà không cần chuyển trực tiếp thân đối tượng. Phương pháp HEAD thường được sử dụng để kiểm tra các liên kết siêu văn bản.

Phương thức POST được sử dụng cho một yêu cầu trong đó máy chủ được định địa chỉ lấy dữ liệu có trong nội dung thư (đối tượng) của yêu cầu và gửi nó đến ứng dụng được chỉ định là tài nguyên được yêu cầu để xử lý. POST được thiết kế để trở thành một phương pháp phổ biến để triển khai Các tính năng sau đây:

Chú thích các tài nguyên hiện có;

Đăng tin nhắn lên bảng thông báo (BBS), nhóm tin, danh sách gửi thư, hoặc nhóm bài báo tương tự;

Chuyển một khối dữ liệu, chẳng hạn như kết quả của một đầu vào trong một biểu mẫu, đến một quy trình xử lý;

Thực thi các truy vấn đến cơ sở dữ liệu (DB);

Trên thực tế, chức năng được thực hiện bởi phương thức POST được xác định bởi ứng dụng được chỉ ra bởi định danh của tài nguyên được yêu cầu. Cùng với phương thức GET, phương thức POST được sử dụng khi tạo các ứng dụng CGI. Trình duyệt có thể tạo yêu cầu bằng phương thức POST khi gửi biểu mẫu. Để thực hiện điều này, phần tử FORM của tài liệu HTML chứa biểu mẫu phải có thuộc tính METHOD với giá trị là POST.

Một hành động được thực hiện bởi phương thức POST có thể thực hiện một hành động trên máy chủ và không chuyển bất kỳ nội dung nào là kết quả của hoạt động. Trong trường hợp này, tùy thuộc vào việc phản hồi có bao gồm nội dung thông báo mô tả kết quả hay không, mã trạng thái trong phản hồi có thể là 200 (OK) hoặc 204 (Không có nội dung).

Nếu tài nguyên trên máy chủ đã được tạo, phản hồi chứa mã trạng thái 201 (Đã tạo) và bao gồm tiêu đề phản hồi Vị trí.

Nội dung của thông báo được chuyển trong yêu cầu với phương thức PUT được lưu trữ trên máy chủ và số nhận dạng của tài nguyên được yêu cầu sẽ là số nhận dạng của tài liệu đã lưu. Nếu mã định danh tài nguyên được yêu cầu trỏ đến một tài nguyên đã tồn tại, thì đối tượng được bao gồm trong nội dung thư được coi là phiên bản sửa đổi của tài nguyên nằm trên máy chủ. Nếu một tài nguyên mới được tạo, thì máy chủ sẽ thông báo cho tác nhân người dùng về nó bằng một phản hồi với mã trạng thái là 201 (Đã tạo, Đã tạo).

Sự khác biệt cơ bản giữa phương thức POST và PUT là ý nghĩa khác nhau của mã định danh tài nguyên được yêu cầu. URI trong một yêu cầu POST xác định tài nguyên xử lý đối tượng được bao gồm trong nội dung thư. Tài nguyên này có thể là một ứng dụng nhận dữ liệu. Ngược lại, một URI trong một yêu cầu PUT xác định thực thể được bao gồm trong yêu cầu như là phần thân của thông báo, tức là tác nhân người dùng chỉ định URI đó cho tài nguyên được bao gồm.

Phương thức DELETE yêu cầu máy chủ xóa tài nguyên có định danh được yêu cầu. Yêu cầu với phương pháp này có thể bị máy chủ từ chối nếu người dùng không có quyền xóa tài nguyên được yêu cầu.

Phương thức TRACE được sử dụng để trả về một yêu cầu đã chuyển ở lớp giao thức HTTP. Người nhận yêu cầu (máy chủ Web) gửi lại thông điệp đã nhận được cho máy khách dưới dạng thân đối tượng phản hồi với mã trạng thái là 200 (OK). Yêu cầu TRACE không được chứa nội dung thông báo.

TRACE cho phép máy khách xem những gì máy chủ đang nhận ở đầu bên kia và sử dụng thông tin đó để kiểm tra hoặc chẩn đoán.

Nếu yêu cầu thành công, thì phản hồi chứa toàn bộ thông báo yêu cầu trong phần nội dung của thông báo phản hồi và tiêu đề Loại-Nội dung có giá trị "message / http".

Mã phản hồi

Sau khi nhận và giải thích thông báo yêu cầu, máy chủ sẽ trả lời bằng một thông báo phản hồi HTTP.

Dòng đầu tiên của phản hồi là Dòng trạng thái. Nó bao gồm phiên bản giao thức, mã trạng thái số, một cụm từ giải thích, được phân tách bằng dấu cách và các ký tự cuối dòng theo sau:

<Версия HTTP> <Код состояния> <Поясняющая фраза>

Phiên bản giao thức có cùng giá trị như trong yêu cầu.

Phần tử Status-Code là một mã số nguyên có ba chữ số (ba chữ số) là kết quả của việc hiểu và đáp ứng yêu cầu. Lý do-Cụm từ là một mô tả ngắn bằng văn bản của mã trạng thái. Mã trạng thái dành cho xử lý phần mềm và cụm từ giải thích dành cho người dùng.

Chữ số đầu tiên của mã trạng thái xác định lớp của phản hồi. Hai chữ số cuối cùng không có vai trò cụ thể trong phân loại. Có 5 giá trị cho chữ số đầu tiên:

1xx: Mã thông tin - nhận được yêu cầu, tiếp tục xử lý.

2xx: Mã thành công - Hành động đã được nhận, hiểu và xử lý thành công.

3xx: Mã chuyển hướng - Phải thực hiện thêm hành động để hoàn thành yêu cầu.

4xx: Mã lỗi ứng dụng khách - Yêu cầu có lỗi cú pháp hoặc không thể hoàn thành.

5xx: Mã lỗi máy chủ - Máy chủ không thể thực hiện yêu cầu hợp lệ.

Các cụm từ lý do cho mỗi mã trạng thái được liệt kê trong RFC 2068 và được khuyến nghị nhưng có thể được thay thế bằng các cụm từ tương đương mà không ảnh hưởng đến giao thức. Ví dụ: trong bản địa hóa Phiên bản tiếng Nga Máy chủ HTTP, những cụm từ này được thay thế bằng những cụm từ tiếng Nga. Bảng 2 cho thấy các mã phản hồi của máy chủ HTTP.

ban 2

Mã phản hồi của máy chủ HTTP

Mật mã Cụm từ giải thích theo RFC 2068 Cụm từ giải thích tương đương bằng tiếng Nga
1xx: Mã thông tin
Tiếp tục Tiếp tục
2xx: Mã thành công
ĐƯỢC RỒI ĐƯỢC RỒI
Tạo Tạo
không có nội dung Không có nội dung
Đặt lại nội dung Đặt lại nội dung
Nội dung một phần Nội dung một phần
3xx: Mã chuyển hướng
Đã chuyển tạm thời Tạm thời di dời
Không sửa đổi Không sửa đổi
4xx: Mã lỗi ứng dụng khách
Yêu cầu không hợp lệ Yêu cầu bị hỏng
Không được phép Không được phép
không tìm thấy Không tìm thấy
Phương pháp không được phép Phương pháp không được phép
Hết thời gian yêu cầu Yêu cầu đã hết thời gian chờ
Xung đột Xung đột
Chiều dài yêu cầu Chiều dài yêu cầu
Yêu cầu thực thể quá lớn Đối tượng yêu cầu quá lớn
5xx: Mã lỗi máy chủ
Nội bộ Lỗi máy chủ Lỗi bên trong may chủ
Không được thực hiện Không được thực hiện
dịch vụ Không sẵn có Dịch vụ không sẵn sàng
Phiên bản HTTP Không được hỗ trợ Phiên bản HTTP không được hỗ trợ

Dòng trạng thái được theo sau bởi các tiêu đề (chung, phản hồi và đối tượng) và tùy chọn phần nội dung của thư.

Một trong chức năng cần thiết của máy chủ Web là cung cấp quyền truy cập vào một phần của hệ thống tập tin. Để làm điều này, một thư mục nhất định được chỉ định trong cài đặt máy chủ, là thư mục gốc cho máy chủ này. Để xuất bản tài liệu, nghĩa là cung cấp tài liệu đó cho những người dùng đã "truy cập" máy chủ nhất định(đã thực hiện kết nối với nó qua HTTP), bạn cần sao chép tài liệu này vào thư mục gốc của máy chủ Web hoặc vào một trong các thư mục con của nó. Khi kết nối qua giao thức HTTP, một quy trình được tạo trên máy chủ với quyền của người dùng, theo quy tắc, quy trình này không tồn tại trong thực tế, nhưng được tạo đặc biệt để xem tài nguyên máy chủ. Đặt quyền và cho phép người dùng này Bạn có thể kiểm soát quyền truy cập vào các tài nguyên Web.

Xem xét ví dụ đơn giản nhất Yêu cầu HTTP. Nếu chúng ta nhập địa chỉ http://yandex.ru vào cửa sổ địa chỉ của trình duyệt, thì trình duyệt sẽ xác định địa chỉ IP của máy chủ yandex.ru và gửi nó đến cổng thứ 80 như vậy Yêu cầu HTTP:

TẢI http://yandex.ru/ HTTP / 1.0

Chấp nhận: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, application / vnd.ms-excel, application / msword, application / vnd.ms-powerpoint, * / *

Ngôn ngữ chấp nhận: vi

Cookie: yandexuid = 2464977781018373381

Tác nhân người dùng: Mozilla / 4.0 (tương thích; MSIE 5.5; Windows 98)
Máy chủ: yandex.ru

Người giới thiệu: narod.ru

Kết nối proxy: Keep Alive

Yêu cầu được gửi ở dạng không được mã hóa dạng văn bản. Phần quan trọng nhất của yêu cầu nằm ở dòng đầu tiên: Đây là loại yêu cầu (GET), Địa chỉ URL của tài liệu được yêu cầu (http://yandex.ru) và phiên bản Giao thức HTTP(HTTP / 1.0). Các tham số truy vấn được liệt kê bên dưới. Mỗi dòng tương ứng với một tham số. Dòng bắt đầu bằng tên của tham số, theo sau là dấu hai chấm và giá trị của tham số.

Chấp nhận - loại dữ liệu mà trình duyệt có thể chấp nhận (ở dạng mã hóa MIME).

Ngôn ngữ chấp nhận là ngôn ngữ ưa thích mà trình duyệt muốn chấp nhận dữ liệu. Tác nhân người dùng - loại chương trình đã gửi yêu cầu.

Máy chủ lưu trữ - Tên DNS (hoặc IP) của máy chủ lưu trữ mà yêu cầu được gửi đến.

Cookie - cookie (dữ liệu đã được máy chủ lưu trữ trên đĩa cục bộ khách hàng khi ghé thăm máy chủ này lần trước).

Người giới thiệu - máy chủ lưu trữ từ trang mà chúng tôi đang gửi yêu cầu. Vì vậy, ví dụ: nếu chúng ta đang ở trang http://narod.ru và nhấp vào liên kết http://yandex.ru ở đó, thì yêu cầu sẽ được gửi đến máy chủ yandex.ru và trường yêu cầu giới thiệu sẽ chứa tên máy chủ narod.ru.

Tập hợp các tham số truy vấn không cố định. Ngoài những điều trên, có thể có các thông số khác.

Các tham số thú vị nhất là tham chiếu và cookie. Các tham số này chủ yếu được sử dụng để xác định người dùng bởi máy chủ.

NHẬN yêu cầu có thể chứa dữ liệu do máy khách truyền đến máy chủ. Chúng được truyền trực tiếp qua một URL bằng giao thức CGI. Dữ liệu được phân tách khỏi URL bằng dấu “?” và được kết nối với dấu hiệu “&”:

LẤY ?<параметр 1>=<значение 1>&<параметр 2>=<значение 2>&…

Kiểu truyền dữ liệu này đến máy chủ thuận tiện, nhưng có hạn chế về khối lượng. Mảng dữ liệu quá lớn không thể được truyền qua URL. Với những mục đích như vậy, có một loại yêu cầu khác: yêu cầu ĐĂNG. Yêu cầu POST rất giống với yêu cầu GET, với sự khác biệt duy nhất là dữ liệu trong yêu cầu POST được chuyển riêng biệt với chính tiêu đề yêu cầu:

Nội dung yêu cầu phải được phân tách khỏi tiêu đề bằng một dòng trống. Nếu máy chủ gặp một chuỗi trống trong một yêu cầu POST, thì mọi thứ theo sau được coi là phần thân của yêu cầu (dữ liệu được truyền). Lưu ý những điều sau: định dạng của dữ liệu trong phần nội dung của yêu cầu POST là tùy ý. Mặc dù định dạng CGI được sử dụng phổ biến nhất nhưng nó không bắt buộc. Ngoài ra, yêu cầu POST không yêu cầu nội dung yêu cầu và cũng có thể chuyển dữ liệu qua URL.

Ngoài định dạng CGI, đôi khi để chuyển một lượng lớn thông tin (ví dụ: tệp) sử dụng cái gọi là. định dạng nhiều phần (định dạng của dữ liệu được truyền được xác định bởi tham số Loại-Nội dung):

Các trình duyệt hiện đại chứa các công cụ dành cho các nhà phát triển web để lấy một số thông tin về các yêu cầu bài đăng đang được gửi đi. Nếu bạn chỉ cần xem tiêu đề của một vài yêu cầu, việc sử dụng chúng sẽ dễ dàng và nhanh hơn so với các phương pháp khác.

Nếu bạn đang sử dụng Firefox, bạn có thể sử dụng bảng điều khiển web của nó. Nó hiển thị các tiêu đề yêu cầu và nội dung của bánh quy. Để khởi chạy nó, hãy mở menu trình duyệt, nhấp vào mục "Phát triển Web" và chọn "Bảng điều khiển Web". Trong bảng xuất hiện, kích hoạt nút "Mạng". Nhập tên phương pháp vào trường bộ lọc - bài đăng. Tùy thuộc vào mục tiêu của bạn, hãy nhấp vào nút biểu mẫu gửi yêu cầu bắt buộc hoặc làm mới trang. Bảng điều khiển sẽ hiển thị yêu cầu đã gửi. Bấm vào nó bằng chuột của bạn để xem thêm chi tiết.

Trình duyệt Google Chrome có các công cụ gỡ lỗi mạnh mẽ. Để sử dụng chúng, hãy nhấp vào biểu tượng cờ lê, sau đó mở rộng mục "Tùy chỉnh và điều khiển Google Chrome". Chọn "Công cụ" và khởi chạy "Công cụ dành cho nhà phát triển". Trên thanh công cụ, chọn tab Mạng và gửi yêu cầu. Tìm yêu cầu cần thiết trong danh sách và nhấp vào yêu cầu đó để xem chi tiết.

TẠI Trình duyệt Opera có các công cụ tích hợp dành cho các nhà phát triển Opera Dragonfly. Để khởi chạy chúng, hãy nhấp chuột phải vào trang mong muốn và chọn mục "Kiểm tra phần tử" từ trình đơn ngữ cảnh. Chuyển đến tab "Mạng" của các công cụ dành cho nhà phát triển và gửi yêu cầu bắt buộc. Tìm nó trong danh sách và mở rộng nó để kiểm tra tiêu đề và phản hồi của máy chủ.

Internet Explorer 9 bao gồm một bộ có tên "F12 Developer Tools" cung cấp thông tin chi tiết trên các yêu cầu đã hoàn thành. Chúng được khởi chạy bằng cách nhấn nút F12 hoặc sử dụng menu "Công cụ" có chứa mục cùng tên. Để xem yêu cầu, hãy chuyển đến tab "Mạng". Tìm một truy vấn nhất định trong phần tóm tắt và nhấp đúp để mở rộng chi tiết.

Trình duyệt Chrome và Internet Explorer 9 chứa các công cụ tích hợp cho phép bạn kiểm tra chi tiết yêu cầu bài đăng đã gửi. Để nhận được thông tin đầy đủ sử dụng chúng hoặc Firefox có cài đặt plugin Firebug. Nó rất tiện dụng để kiểm tra các truy vấn thường xuyên, ví dụ, khi gỡ lỗi các trang web.

Nếu bạn muốn xem một yêu cầu được gửi bởi một chương trình không phải là trình duyệt, hãy sử dụng trình gỡ lỗi HTTP của Fiddler. Nó hoạt động như một máy chủ proxy và chặn các yêu cầu từ bất kỳ chương trình nào và cung cấp thông tin rất chi tiết về tiêu đề và nội dung của chúng.