2012-11-14 33 views
6

Tôi đã xem xét một số thông tin về các thành phần của URL, nhưng không thể tìm thấy giải thích hợp lý về url dài đầy đủ có thể và mỗi thành phần có thể là gì. Tôi muốn biết URL đầy đủ có thể trông như thế nào, lợi dụng tất cả các intricasies. tôi cũng sẽ hy vọng sẽ xây dựng một chút GUI giúp giải thích chúng một lần tôi undderstand họ tốt hơn, nhưng cho đến lúc đó tôi sẽ cố gắng với các thành phần tôi biết:Cú pháp và ngữ pháp URL có thể Đầy đủ

[ ] Chân đế chứa một thành phần đầy đủ | ống cho thấy thành phần phụ có thể có của một thành phần () ngoặc chứa ghi chú, suy nghĩ, và giả định về phụ/linh kiện

hiểu biết đầy đủ của tôi:

[type][://][subdomain][domain][port][path][file][query][hash]

Dưới đây là mô tả của từng thành phần: nếu có *, tùy chọn

[type] * = [(loại {http | https | ftp | tập tin | etc ...})] (mặc dù đây là tùy chọn, tôi tin rằng nó cũng là bắt buộc, có nghĩa là các trình duyệt hiện đại chèn loại để yêu cầu nó vào máy chủ và máy chủ cũng có thể trả về một kiểu khác)

[://] = (không biết điều này được gọi là)

[subdomain] * = [[tên miền phụ] | [subdomain] subdomain]

[domain] = [tên. (loại {com | org | vv ..})]

[port] * = [(trống theo cổng mặc định: 80) | cổng: **]

[path] * = [(trống) | [đường dẫn] | Đường dẫn [path]]

[file] = [name. (loại {html | php | php | (v.v ...)})]

[query] * = [? [trống (nghĩa là không có truy vấn) | paramater = giá trị | paramater = value & paramater = value (etc ...)]]

[hash] * = [# [trống (tức là không có băm) | anyStringToBeParsedClientSide (thường là để kiên trì)] (chỉ cần tìm hiểu một băm còn được gọi là fragment identifier)

Tôi còn gì khác, hoặc tôi nhìn một trang web giải thích chúng. Vui lòng sửa tên của tôi, vì chúng có thể không chính xác, vì tôi cũng đang cố gắng tìm hiểu những gì chúng được gọi.

+0

Tại sao không chỉ đọc RFC? Có tài liệu ngoài kia; bạn chỉ cần dành một chút thời gian để tìm kiếm. –

+2

Giả định của bạn là những gì để lại một hương vị xấu trong stackoverflow. Tôi đã nghiên cứu và các trang web mà tôi cam kết, IETF đã xuất hiện, nhưng nó quá kỹ thuật và tôi không chắc chắn rằng chúng có liên quan đến URL. Một phần của đường cong học tập là biết những tài nguyên nào là relavant. Không thể tin rằng điều này là có thể, nhìn vào [this] (http://stackoverflow.com/questions/13384128/javascript-api-js-api) Tôi cũng chưa bao giờ nghe nói về 'RFC', vì vậy bây giờ Im học tập cũng . –

+0

Cú pháp và ngữ pháp đầy đủ cho URI chính xác là kỹ thuật ở đây vì nó nằm trong tài liệu định nghĩa nó. –

Trả lời

5

Nếu bạn thực sự muốn tất cả những phức tạp, tài liệu tiêu chuẩn là cách duy nhất để đi, và tìm hiểu để tìm và đọc chúng chắc chắn trả hết. Và RFC thường không khó đọc.

Trong trường hợp này, RFC 1738 (Uniform Resource Locators) là tài nguyên bạn muốn. Nó không còn "quá kỹ thuật" so với những gì bạn đã đưa ra cho đến nay; trong thực tế, phần 5 có ngữ pháp BNF chính thức tương tự như những gì bạn đã viết.

Bạn cũng có thể quan tâm đến số RFC 3986 (Uniform Resource Identifiers) mô tả định dạng URI, tổng quát hơn các URL đơn thuần.

Một số điều bạn đề cập cụ thể cho HTTP, được mô tả trong RFC 2616 (Hypertext Transfer Protocol 1.1). Section 3.2 chạm nhanh vào URI.

Các vấn đề liên quan