1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài Liệu Học Lập Trình HTTP ( Hacker Anonymous Việt Nam )

67 766 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 67
Dung lượng 1,2 MB

Nội dung

Đây là tài liệu do Hacker Anonymous Việt Nam biên soạn rất kĩ lưỡng và chi tiết cho những bạn học lập trình web.

Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org HTTP [HTTP gì]HTTP giao thức cấp độ ứng dụng cho hệ thống thông tin phân phối, cộng tác, đa phương tiện Đây tảng cho giao tiếp liệu cho WWW (ví dụ: Internet) từ 1990 HTTP giao thức chung stateless mà sử dụng cho mục đích khác co giãn phương thức yêu cầu, code lỗi Header Theo bản, HTTP giao thức giao tiếp sở TCP/IP, mà sử dụng để phân phối liệu (các tệp HTML, file ảnh, …) WWW Cổng mặc định TCP 80, cổng khác sử dụng Nó cung cấp cách tiêu chuẩn hóa cho máy tính để giao tiếp với Chi tiết kỹ thuật HTTP xác định cách mà liệu yêu cầu Client xây dựng gửi tới Server, cách để Server phản hồi yêu cầu Các đặc trưng Có đặc trưng mà làm HTTP trở thành giao thức đơn giản đầy sức mạnh:  HTTP giao thức connectionless (kết nối không liên tục): Client HTTP, ví dụ: trình duyệt khởi tạo yêu cầu HTTP sau yêu cầu tạo ra, Client ngắt kết nối từ Server đợi cho phản hồi Server xử lý yêu cầu thiết lập lại kết nối với Client để gửi phản hồi trở lại  HTTP phương tiện độc lập: Nó nghĩa là, loại liệu gửi HTTP miễn Server Client biết cách để kiểm soát nội dung liệu Nó yêu cầu cho Client Server để xác định kiểu nội dung sử dụng kiểu MIME thích hợp  HTTP stateless: Như đề cập trên, HTTP connectionless kết trực tiếp HTTP trở thành giao thức Stateless Server Client biết chi yêu cầu Sau đó, hai chúng quên tất Do chất giao thức, Client trình duyệt giữ lại thông tin yêu cầu khác trang web HTTP/1.0 sử dụng kết nối cho trao đổi Yêu cầu/Phản hồi (Request/Reponse), mà kết nối HTTP/1.1 sử dụng cho nhiều trao đổi Yêu cầu/Phản hồi Cấu trúc Sơ đồ cấu trúc đơn giản ứng dụng web miêu tả vị trí HTTP: Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org Giao thức HTTP giao thức Yêu cầu/Phản hồi dựa cấu trúc Client/Server, nơi mà trình duyệt web, thiết bị tìm kiếm,… hoạt động Client, Server web hoạt động Server Client Client gửi yêu cầu tới Server theo mẫu phương thức yêu cầu, URI, phiên giao thức, theo thông báo MIME chứa chỉnh sửa yêu cầu, thông tin Client, nội dung đối tượng qua kết nối TCP/IP Server Server phản hồi với dòng trạng thái, bao gồm phiên giao thức thông báo code thành công lỗi, theo sau thông báo MIME chứa thông tin Server, thông tin thực thể đa phương tiện nội dung đối tượng Các tham số HTTP Chương liệt kê số Tham số giao thức HTTP cú pháp chúng mà theo chúng sử dụng giao tiếp Ví dụ, định dạng ngày tháng, định dạng URL, … Điều giúp bạn việc xây dựng yêu cầu bạn thông tín phản hồi viết Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org chương trình Client Server Bạn thấy hữu ích hoàn toàn tham số chương học tập cấu trúc thông báo cho yêu cầu phản hồi HTTP Phiên HTTP HTTP sử dụng sơ đồ đánh số . để phiên giao thức Phiên thông báo HTTP trường HTTP-Version dòng Tại cú pháp chung việc xác định số phiên HTTP: HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT Ví dụ HTTP/1.0 or HTTP/1.1 Uniform Resource Identifiers - Bộ nhận diện nguồn tài nguyên đồng URI chuỗi định dạng, nhạy cảm với chữ hoa-thường (case-insentive) theo cách đơn giản chứa tên, vị trí, để xác định nguồn, ví dụ, website, dịch vụ web, … Một cú pháp chung URI sử dụng cho HTTP sau: URI = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]] Ở đây, port trống không cung cấp, port 80 cho cho HTTP abs_path trống tương đương với abs_path “/” Các ký tự khác thiết lập reserved unsafe tương đương với mã hóa “%” HEX HEX” chúng Ví dụ Dưới ví dụ URI mà tương đương nhau: http://abc.com:80/~smith/home.html http://ABC.com/%7Esmith/home.html http://ABC.com:/%7esmith/home.html Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org Các định dạng Ngày/Thời gian Tất nhãn Ngày/Thời gian HTTP Phải biểu diễn Greenwich Mean Time (GMT), ngoại trừ Các ứng dụng HTTP cho phép để sử dụng nhãn đại diện Ngày/Thời gian sau: Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123 Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036 Sun Nov 08:49:37 1994 ; ANSI C's asctime() format Các ký tự Chúng ta sử dụng ký tự để xác định thiết lập ký tự mà Client ưa thích Nhiều thiết lập ký tự liệt kê riêng biệt dấu phảy Nếu giá trị không xác định, mặc định US-ASII Ví dụ Dưới ký tự có hợp lệ: US-ASCII or ISO-8859-1 or ISO-8859-7 Mã hóa nội dung Một giá trị mã hóa nội dung thuật toán mã hóa sử dụng để mã hóa nội dung trước truyền tới mạng Mã hóa nội dung sử dụng lần đầu phép tài liệu để nén truyền tải mà không thất lạc nhận diện Tất giá trị mã hóa nội dung không phân biệt kiểu chữ (case-insensitive) HTTP/1.1 sử dụng giá trị mã hóa nội dung trường Accept-Encoding vàContent- Encoding Header mà quan sát chương Ví dụ Dưới sơ đồ mã hóa hợp lệ: Accept-encoding: gzip Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org or Accept-encoding: compress or Accept-encoding: deflate Các kiểu đa phương tiện (media types) HTTP sử dụng Kiểu phương tiện Internet trường Content-Type vàAccept để cung cấp liệu mở mở rộng Tất giá trị kiểu phương tiện đăng ký với IANA (Internet Assigned Number Authority) Cú pháp chung để xác định kiểu phương tiện sau: media-type = type "/" subtype *( ";" parameter ) Các thuộc tính type, subtype, parameter case-insensitive Ví dụ Accept: image/gif Các thẻ ngôn ngữ HTTP sử dụng thẻ ngôn ngữ trường Accept-Language Content-Language Một thẻ ngôn ngữ bao gồm nhiều phần: Một thẻ ngôn ngữ sơ cấp dãy thẻ phụ: language-tag = primary-tag *( "-" subtag ) Các khoảng trắng không cho phép thẻ tất thẻ case-insentive Ví dụ Các thẻ ví dụ bao gồm: en, en-US, en-cockney, i-cherokee, x-pig-latin Hai chữ primary-tag chữ viết tắt cho ngôn ngữ ISO-639 hai ký tự thẻ phụ subtag mã quốc gia Message HTTP Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org HTTP xây dựng sở mô hình cấu trúc Client-Server giao thức Stateless Yêu cầu/Phản hồi mà điều hành việc trao đổi thông báo (Message) dọc theo kết nối TCP/IP Một Client chương trình (một trình duyệt Client) mà thiết lập kết nối tới Server cho mục đích gửi nhiều thông báo yêu cầu HTTP Một HTTP “Server” chương trình (hiểu theo cách chung Server web Apache Server web Internet Information Services – IIS …) mà chấp nhận kết nối để phục vụ yêu cầu HTTP việc gửi thông báo phản hồi HTTP HTTP sử dụng URI để nhận diện nguồn cho để thiết lập kết nối Một kết nối thiết lập, Các Thông báo HTTP truyền định dạng tương tự sử dụng thư điện tử Internet Mail [RFC5322] MIME (Multipurpose Internet Mail Extensions) [RFC2045] Các thông báo bao gồm cácYêu cầu từ Client tới Server Phản hồi từ Server tới Client mà theo định dạng sau: HTTP-message = | ; HTTP/1.1 messages Các yêu cầu HTTP phản hồi HTTP sử dụng định dạng thông báo chung RFC 822 cho truyền trải liệu yêu cầu Định dạng thông báo chung bao gồm mục:  Một dòng  Không nhiều trường Header theo sau CRLF  Một dòng trống (ví dụ: dòng mà trước CRLF), phần cuối trường Header   Một thân thông báo tùy ý Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org Trong mục tiếp theo, giải thích mục sử dụng thông báo HTTP Dòng đầu thông báo (start-line) Một dòng đầu có cú pháp chung sau: start-line = Request-Line | Status-Line Chúng ta bàn luận Request-Line Status-Line thảo luận thông báo Yêu cầu HTTP Phản hồi HTTP tương ứng Bây giờ, xem xét số ví dụ dòng bắt đầu trường hợp yêu cầu phản hồi GET /hello.jsp HTTP/1.1 (This is Request-Line sent by the client) HTTP/1.1 200 OK (This is Status-Line sent by the server) Các trường Header Các trường Header cung cấp thông tin yêu cầu yêu cầu phản hồi, đối tượng gửi thân thông báo Có kiểu Header thông báo HTTP:  Kiểu chung (General-Header): Các trường Header có khả ứng dụng chung cho thông báo yêu cầu phản hồi  Kiểu yêu cầu (Request-Header): Các trường Header có khả áp dụng cho thông báo yêu cầu  Kiểu phản hồi (Response-Header): Các trường Header có khả áp dụng cho thông báo phản hồi  Kiểu thực thể (Entity-Header): Các trường xác định thông tin thân-thực thể hoặc, phần thân hiển thị, nguồn nhận diện yêu cầu Tất Header đề cập theo định dạng chung trường Header bao gồm tên theo sau dấu hai chấm (:) giá trị trường sau: message-header = field-name ":" [ field-value ] Dưới ví dụ trường Header đa dạng: User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3 Host: www.example.com Accept-Language: en, mi Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT ETag: "34aa387-d-1568eb00" Accept-Ranges: bytes Content-Length: 51 Vary: Accept-Encoding Content-Type: text/plain Phần thân thông báo Phần thân thông báo tùy ý cho thông báo HTTP có sẵn, sử dụng để mang phần thân liên kết với yêu cầu phản hồi Nếu phần thân thực thể liên kết, sau thường dòng Content-Type Content-Length xác định chất phần thân liên kết Một phần thân thông báo phần mà mang liệu yêu cầu HTTP thực (bao gồm liệu mẫu tải lên,…) liệu phản hồi HTTP từ Server (bao gồm file, ảnh, …) Dưới nội dung đơn giản phần thân thông báo: Hello, World! Hai chương tới bàn cách sử dụng khái niệm giải thích để chuẩn bị Các yêu cầu HTTP Các phản hồi HTTP Yêu cầu (Request) HTTP Một Client gửi yêu cầu HTTP tới Server mẫu thông báo yêu cầu mà bao gồm định dạng sau:  Một dòng yêu cầu Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org  Không nhiều trường Header (General|Request|Entity) theo sau CRLF  Một dòng trống (ví dụ: dòng đằng trước CRLF) phần kết thúc trường Header   Một phần thân thông báo tùy ý Các phần giải thích cách sử dụng đối tượng thông báo yêu cầu HTTP Dòng Yêu cầu Dòng Yêu cầu bắt đầu với thủ tục method, theo sau Request-URI phiên giao thức, kết thúc với CRLF Các yếu tố phân biệt riêng rẽ ký tự khoảng trống SP Request-Line = Method SP Request-URI SP HTTP-Version CRLF Dưới thảo luận phần đề cập Dòng Yêu cầu Phương thức yêu cầu Phương thức yêu cầu phương thức để thực nguồn nhận diện Request-URI cung cấp Method case-intensive nên luôn đề cập chữ hoa Bảng liệt kê tất method hỗ trợ HTTP/1.1 STT Phương thức Miêu tả GET GET sử dụng để lấy lại thông tin từ Server cung cấp sử dụng URI cung cấp Các yêu cầu sử dụng GET nên nhận liệu nên ảnh hưởng tới liệu Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org HEAD Tương tự GET, truyền tải dòng trạng thái khu vực Header POST Một yêu cầu POST sử dụng để gửi liệu tới Server, ví dụ, thông tin khách hàng, file tải lên, …, sử dụng mẫu HTML PUT Thay đổi tất đại diện nguồn mục tiêu với nội dung tải lên DELETE Gỡ bỏ tất đại diện nguồn mục tiêu URI CONNECT Thiết lập tunnel tới Server xác định URI cung cấp OPTIONS Miêu tả chức giao tiếp cho nguồn mục tiêu TRACE Trình bày vòng lặp kiểm tra thông báo song song với path tới nguồn mục tiêu Request-URI Request-URI Bộ nhận diện Nguồn Đồng (URI) xác định nguồn mà áp dụng yêu cầu Dưới mẫu thường sử dụng để xác định URI: Request-URI = "*" | absoluteURI | abs_path | authority 10 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org 74 J J 75 K K 76 L L 77 M M 78 N N 79 O O 80 P P 81 Q Q 82 R R 83 S S 84 T T 85 U U 86 V V 87 W W 88 X X 89 Y Y 53 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org 90 Z Z 91 [ %5B 92 \ %5C 93 ] %5D 94 ^ %5E 95 _ _ 96 ` %60 97 a a 98 b b 99 c c 100 d d 101 e e 102 f f 103 g g 104 h h 105 i i 54 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org 106 j j 107 k k 108 l l 109 m m 110 n n 111 o o 112 p p 113 q q 114 r r 115 s s 116 t t 117 u u 118 v v 119 w w 120 x x 121 y y 55 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org 122 z z 123 { %7B 124 | %7C 125 } %7D 126 ~ %7E 127 %7F > 127 Mã hóa với %xx, với xx đại diện hệ thập lục phân ký tự Bảo mật HTTP HTTP sử dụng cho giao tiếp thông tin qua Internet, nhà lập trình ứng dụng, nhà cung cấp thông tin, người sử dụng nên nhận biết giới hạn bảo vệ HTTP/1.1 Chương thảo luận không bao gồm giải pháp rõ ràng tới vấn đề đề cập đây, đưa số gợi ý để giảm rủi ro Sự rò rỉ thông tin cá nhân Các Client thường giữ bí mật số lượng lớn thông tin cá nhân tên người sử dụng, vị trí, địa mail, khóa mật mã hóa, … Vì bạn nên cẩn thận để ngăn cản rò rỉ thông tin qua giao thức HTTP tới nguồn khác  Tất thông tin bí mật nên lưu Server mẫu mật mã hóa  Khám phá phiên phần mềm riêng Server cho phép thiết bị Server để trở lên dễ tổn thương bị công phần mềm mà biết tới lỗ hổng bảo mật  Các trạm ủy quyền mà phục vụ cửa thông qua tường lửa mạng nên thực biện pháp phòng ngừa đặc biệt tới việc truyền tải thông tin Header mà nhận diện host đằng sau tường lửa 56 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org  Thông tin gửi trường “From” xung đột với quyền lợi cá nhân người sử dụng sách bảo mật site, thế, không nên truyền tải mà giám sát người sử dụng để không cho phép, cho phép chỉnh sửa nội dung trường  Các Client không nên bao gồm trường Referer yêu cầu HTTP (không an toàn), trang hướng tới truyền trải với giao thức bảo mật  Các tác giả dịch vụ mà sử dụng giao thức HTTP không nên sử dụng mẫu dựa GET để chấp nhận liệu nhạy cảm, làm cho liệu mã hóa Request-URI Sự công dựa tên Path File Tài liệu nên giới hạn tới tài liệu mà trả yêu cầu HTTP tới tài liệu mà có dự định người quản lý Server Ví dụ, UNIX, Microsoft hệ điều hành khác sử dụng ` ` thành phần đường truyền để mức độ thư mục thư mục Trên hệ thống vậy, Server PHẢI không cho phép xây dựng Request-URI, không cho phép truy cập tới nguồn bên thư mục để truy cập thông qua Server Việc đánh lừa DNS (DNS Spoofing) Các Client sử dụng HTTP chủ yếu dựa Dịch vụ tên miền (DNS), thường dễ bị công bảo mật dựa quên liên kết có chủ tâm địa IP tên DNS Vì Client cần ý giả sử tính hiệu lực tiếp tục liên kết IP/tên miền DNS Nếu Client ghi vào nhớ ẩn kết tra cứu tên host để đạt cải thiện hiệu suất, chúng phải theo dõi thông tin TTl báo cáo DNS Nếu Client không theo dõi quy luật này, chúng bị đánh lừa địa IP Server truy cập trước thay đổi Vị trí Header việc đánh lừa Nếu Server đơn hỗ trợ nhiều tổ chức mà không tin tưởng lẫn nhau, PHẢI kiểm tra giá trị trường Location Content Location phản hồi mà tạo điều khiển tổ chức nhắc đến để đảm bảo chúng không cố gắng chiếm lấy nguồn tài nguyên hiệu lực mà qua chúng ủy quyền 57 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org Ủy nhiệm xác minh Các Client tồn user agent có đặc trưng ghi lại thông tin xác minh cách mập mờ HTTP/1.1 không cung cấp phương thức cho Server để dẫn trực tiếp Client loại bỏ ủy nhiệm ghi vào nhớ ẩn mà nguy rủi ro bảo mật lớn Có số công việc xung quanh tới phần vấn đề này, khuyến khích sử dụng mật bảo vệ việc bảo vệ hình, thời gian rỗi, số phương thức khác mà làm giảm vấn đề an toàn cố hữu vấn đề Các ủy quyền việc ghi vào nhớ ẩn Các ủy quyền HTTP Server trung gian, tương ứng hội nguy công trung gian Các ủy nhiệm có truy cập tới thông tin bảo mật liên quan, thông tin cá nhân người sử dụng tổ chức, thông tin sở hữu riêng người sử dụng người cung cấp nội dung Các nhà điều hành ủy nhiệm nên bảo hệ thống mà ủy nhiệm chạy đó, họ bảo vệ hệ thống mà chứa truyền tải thông tin nhạy cảm Việc ghi vào nhớ ẩn ủy nhiệm tạo thêm lỗ hổng tiềm tàng, từ nội dung nhớ ẩn biểu diễn mực tiêu hấp dẫn cho khái thác ác ý Vì thế, nội dung nhớ ẩn phải bảo vệ thông tin nhạy cảm Ví dụ Message HTTP Ví dụ HTTP yêu cầu rút trang hello.htm từ Server chạy anonymousvn.org Client yêu cầu: GET /hello.htm HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) Host: www.anonymousvn.org Accept-Language: en-us Accept-Encoding: gzip, deflate Connection: Keep-Alive Server phản hồi: HTTP/1.1 200 OK Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache/2.2.14 (Win32) Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT 58 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org Content-Length: 88 Content-Type: text/html Connection: Closed Hello, World! Ví dụ HTTP yêu cầu rút trang t.html mà không tồn Server chạy trênanonymousvn.org Client yêu cầu GET /t.html HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) Host: www.anonymousvn.org Accept-Language: en-us Accept-Encoding: gzip, deflate Connection: Keep-Alive Server phản hồi HTTP/1.1 404 Not Found Date: Sun, 18 Oct 2012 10:36:20 GMT Server: Apache/2.2.14 (Win32) Content-Length: 230 Content-Type: text/html; charset=iso-8859-1 Connection: Closed 404 Not Found Not Found The requested URL /t.html was not found on this server. 59 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org Ví dụ HTTP yêu cầu rút trang hello.htm từ Server chạy anonymousvn.org yêu cầu kèm với phiên HTTP không xác: Client yêu cầu GET /hello.htm HTTP1 User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) Host: www.anonymousvn.org Accept-Language: en-us Accept-Encoding: gzip, deflate Connection: Keep-Alive Server phản hồi HTTP/1.1 400 Bad Request Date: Sun, 18 Oct 2012 10:36:20 GMT Server: Apache/2.2.14 (Win32) Content-Length: 230 Content-Type: text/html; charset=iso-8859-1 Connection: Closed 400 Bad Request Bad Request Your browser sent a request that this server could not understand. The request line contained invalid characters following the protocol string. 60 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org Ví dụ HTTP yêu cầu để gửi liệu mẫu tới trang process.cgi Server chạy anonymousvn.org Server trả lại tên truyền sau thiết lập chúng cookie: Client yêu cầu POST /cgi-bin/process.cgi HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) Host: www.anonymousvn.org Content-Type: text/xml; charset=utf-8 Content-Length: 60 Accept-Language: en-us Accept-Encoding: gzip, deflate Connection: Keep-Alive first=Zara&last=Ali Server phản hồi HTTP/1.1 200 OK Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache/2.2.14 (Win32) Content-Length: 88 Set-Cookie: first=Zara,last=Ali;domain=anonymousvn.org;Expires=Mon, 19Nov-2010 04:38:14 GMT;Path=/ Content-Type: text/html Connection: Closed Hello Zara Ali Tài liệu tham khảo HTTP Các nguồn sau chứa thông tin hữu ích HTTP Mong bạn sử dụng chúng để hiểu sâu trình bày loạt Các đường link hữu ích HTTP  Tutorialspoint − Loạt hướng dẫn xây dựng dựa nguồn 61 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org  Hypertext Transfer Protocol - HTTP/1.1 - Trình bày chi tiết kỹ thuật "HTTP/1.1", cập nhật với RFC 2068  HTTP State Management Mechanism - Định nghĩa Giao thức cho HTTP State Management Mechanism  Transmission Control Protocol - Một tài liệu đầy đủ TCP protocol (RFC 793)  IP/IPv4 Protocol - Một tài liệu đầy đủ Internet Protocol Version (RFC 791)  IP/IPv6 Protocol - Một tài liệu đầy đủ Internet Protocol Version (RFC 791)  IANA IPv4 Address Space Registry - Sự cấp phát không gian địa Internet Protocol version (IPv4)  IP-Lookup - Giúp bạn tìm kiếm thông tin địa IP bạn địa IP khác Nó hỗ trợ địa IPv4 IPv6 Các sách hữu ích HTTP  62 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org  63 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org  64 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org  65 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org  66 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org  67 [...]... string Phản hồi (Response) trong HTTP Sau khi nhận và phiên dịch một thông báo yêu cầu, một Server gửi tín hiệu phản hồi với một thông báo phản hồi HTTP  Một dòng trạng thái (Status-Line) 13 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org  Không hoặc nhiều hơn các trường Header (General|Response|Entity) được theo sau... close Content-Type: message /http Content-Length: 39 TRACE / HTTP/ 1.1 Host: www.anonymousvn.org User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) Mã hóa trạng thái trong HTTP 23 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org Yếu tố Status-Code là một số nguyên 3 ký tự, trong đó ký tự đầu tiên của mã hóa trạng thái định nghĩa hạng (loại) phản hồi và hai ký tự... /hello.htm HTTP/ 1.1 User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) Host: www.anonymousvn.org Accept-Language: en-us Accept-Encoding: gzip, deflate 19 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org Connection: Keep-Alive Server phản hồi lại yêu cầu HEAD trên như sau: HTTP/ 1.1 200 OK Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache/2.2.14 (Win3 2) Last-Modified:... cả những thứ đã học ở trên cùng với nhau để tạo một yêu cầu HTTP để chỉ thị trang hello.htm từ Server chạy trên anonymousvn.org GET /hello.htm HTTP/ 1.1 User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) Host: www.anonymousvn.org Accept-Language: en-us Accept-Encoding: gzip, deflate Connection: Keep-Alive 12 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org... thông báo yêu cầu và phản hồi  Kiểu yêu cầu (Request-Header): Các trường Header này có khả năng ứng dụng chỉ cho các thông báo yêu cầu  Kiểu phản hồi (Response-Header): Các trường Header này chỉ có khả năng áp dụng cho các thông báo phản hồi 28 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org  Kiểu thực thể (Entity-Header): Các trường này xác định thông tin về thân-thực... thành lập một kết nối mạng tới Server qua HTTP Ví dụ sau yêu cầu một kết nối với một Server đang chạy trên host anonymousvn.org: CONNECT www.anonymousvn.org HTTP/ 1.1 User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) Kết nối được thành lập với Server và phản hồi sau được gửi trả lại tới Client: HTTP/ 1.1 200 Connection established Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache/2.2.14 (Win3 2). .. về yêu cầu Client hoặc phản hồ Server 3 max-age = giây (s) Chỉ ra rằng Client đang muốn chấp nhận một phản hồi mà thời gian của nó không lớn hơn thời gian đã xác định bằng giây (s) 4 max-stale [ tính bằng giây ] Chỉ ra rằng Client đang muốn chấp nhận một phản hồi mà đã vượt 29 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org thời gian mãn hạn Nếu số giây được cung... Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org cầu theo sau mà không tái xác nhận thành công với Server ban đầu 4 no-store Bộ nhớ ẩn không nên lưu bất cứ gì về yêu cầu Client hoặc phản hồi Server 5 no-transform Không chuyển đổi phần thân đối tượng 6 must-revalidate Bộ nhớ ẩn phải xác minh trạng thái của các tài liệu đã cũ trước khi sử dụng nó và các tài liệu đã mãn...Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org STT Phương thức và Miêu tả 1 Một dấu * được sử dụng khi một yêu cầu HTTP không áp dụng tới một nguồn cụ thể, nhưng tới chính Server đó, và chỉ được cho phép khi phương thức được sử dụng không cần thiết áp dụng tới một nguồn Ví dụ: OPTIONS * HTTP/ 1.1 2 absoluteURI được sử dụng khi một yêu cầu HTTP đang được tạo... protocol string. Phương thức trong HTTP Tập hợp các phương thức phổ biến cho HTTP/ 1.1 được xác định bên dưới và bộ thiết lập này có thể được mở rộng dựa trên các sự yêu cầu Những tên method này là case-sensitive và chúng phải được sử dụng trong dạng chữ hoa 17 Sách dạy lập trình –sachdaylaptrinh.com– Hacker Anonymous Việt Nam –anonymousvn.org STT Phương thức và miêu tả 1 GET GET được

Ngày đăng: 17/06/2016, 19:38

TỪ KHÓA LIÊN QUAN

w