Tài liệu HTTP tiếng Việt

72 241 0
Tài liệu HTTP tiếng Việt

Đ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

HTTP là viết tắt của giao thức truyền tải siêu văn bản là một giao thức cấp độ ứng dụng cho các hệ thống thông tin phân phối, cộng tác và đa phương tiện. Đây là nền tảng cho giao tiếp thông tin cho World Wide Web từ 1990.

http://vietjack.com/http/index.jsp Copyright © vietjack.com Mục lục Giới thiệu giao thức HTTP Đối với độc giả Điều kiện tiền đề . Tổng quan HTTP . Các đặc trưng . Cấu trúc Client . Server . Các tham số HTTP Phiên HTTP . Ví dụ Uniform Resource Identifiers - Bộ nhận diện nguồn tài nguyên đồng . Ví dụ Các định dạng Ngày/Thời gian . Các ký tự . Ví dụ Mã hóa nội dung . 10 Ví dụ 10 Các kiểu đa phương tiện (media types) 10 Ví dụ 11 Các thẻ ngôn ngữ . 11 Ví dụ 11 Message HTTP . 11 Dòng đầu thông báo (start-line) . 12 Các trường Header 13 Phần thân thông báo 14 Yêu cầu (Request) HTTP 14 http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/http/index.jsp Copyright © vietjack.com Dòng Yêu cầu . 15 Method yêu cầu 15 Request-URI . 16 Các trường Header Yêu cầu 17 Các ví dụ Thông báo Yêu cầu 19 Phản hồi (Response) HTTP . 20 Dòng trạng thái . 20 Phiên HTTP . 21 Mã hóa trạng thái 21 Các trường Header Phản hồi 22 Các ví dụ Thông báo Phản hồi . 22 Phương thức HTTP . 24 Phương thức GET 25 Phương thức HEAD . 26 Phương thức POST . 27 Phương thức PUT 28 Phương thức DELETE . 29 Phương thức CONNECT . 29 Phương thức OPTIONS . 30 Phương thức TRACE . 30 Mã hóa trạng thái HTTP . 31 1xx: Thông tin . 32 2xx: Thành công . 32 3xx: Sự điều hướng lại 33 4xx: Lỗi Client 34 5xx: Lỗi Server 36 Các trường Header HTTP . 36 General Header 37 Trường Cache-Control . 37 http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/http/index.jsp Copyright © vietjack.com Trường Connection 40 Trường Date 40 Trường Pragma . 41 Trường Trailer . 41 Trường Transfer-Encoding (Mã hóa truyền tải) . 41 Trường Upgrade . 41 Trường Via . 42 Trường Warning (Cảnh báo) 42 Các trường Header yêu cầu Client . 42 Trường Accept (Chấp nhận) . 42 Trường Accept-Charset . 43 Trường Accept-Encoding 43 Trường Accept-Language . 43 Trường Authorization (Sự ủy quyền) . 44 Trường Cookie 44 Trường Expect 44 Trường From . 44 Trường Host 45 Trường If-Match 45 Trường If-Modified-Since 45 Trường If-None-Match . 46 Trường If-Range . 46 Trường If-Unmodified-Since . 46 Trường Max-Forwards . 47 Trường Proxy-Authorization 47 Trường Range . 47 Trường Referer . 48 Trường TE . 48 Trường User-Agent 49 http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/http/index.jsp Copyright © vietjack.com Các trường Phản hồi từ Server . 49 Trường Accept-Ranges . 49 Trường Age . 49 Trường ETag . 50 Trường Location . 50 Trường Proxy-Authenticate . 50 Trường Retry-After . 51 Trường Server . 51 Trường Set-Cookie . 51 Trường Vary 52 Trường WWW-Authenticate 53 Entity Headers 53 Trường Allow . 53 Trường Content-Encoding 53 Trường Content-Language . 54 Trường Content-Length . 54 Trường Content-Location 54 Trường Content-MD5 . 55 Trường Content-Range . 55 Trường Content-Type 56 Trường Expires . 56 Trường Last-Modified 56 Caching HTTP . 56 Mã hóa URL HTTP 59 Bảo mật HTTP . 66 Sự rò rỉ thông tin cá nhân 66 Sự công dựa tên Path File 67 Việc đánh lừa DNS (DNS Spoofing) . 67 Vị trí Header việc đánh lừa . 68 http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/http/index.jsp Copyright © vietjack.com Ủy nhiệm xác minh . 68 Các ủy quyền việc ghi vào nhớ ẩn . 68 Ví dụ Message HTTP 68 Ví dụ 68 Client yêu cầu: . 68 Server phản hồi: 69 Ví dụ 69 Client yêu cầu 69 Server phản hồi . 69 Ví dụ 70 Client yêu cầu 70 Server phản hồi . 70 Ví dụ 71 Client yêu cầu 71 Server phản hồi . 71 Tài liệu tham khảo HTTP 72 Các đường link hữu ích HTTP . 72 Giới thiệu giao thức HTTP HTTP viết tắt Giao thức truyền tải siêu văn (Hypertext Transfer Protocol) 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 thông tin cho World Wide Web (ví dụ: Internet) từ 1990. HTTP giao thức chung stateless mà sử dụng cho mục đích khác mở rộng phương thức yêu cầu, code lỗi Header nó. Phần hướng dẫn xây dựng sở chi tiết kỹ thuật RFC-2616, mà xác định giao thức có liên quan HTTP/1.1. HTTP/1.1 phiên HTTP ban đầu (HTTP/1.0). Sự khác biệt lớn HTTP/1.0 HTTP/1.1 HTTP/1.0 sử dụng kết nối cho Yêu http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/http/index.jsp Copyright © vietjack.com cầu/Phản hồi trao đổi, kết nối HTTP/1.1 sử dụng cho nhiều Yêu cầu/Phản hồi trao đổi. Loạt hướng dẫn dựa nguồn tài liệu của: Tutorialspoint Đối với độc giả Phần hướng dẫn chuẩn bị cho học viên nghiên cứu khoa học máy tính nhà phát triển web để giúp họ có kiến thức khái niệm mức độ phát triển HTTP. Điều kiện tiền đề Trước tiến hành học tập với phần hướng dẫn này, tốt cho bạn bạn có hiểu biết khái niệm web, trình duyệt web, Server, phần mềm xây dựng sở cấu trúc Server-Client. Tổng quan HTTP 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 nó. 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 nhau. 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 này. 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://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/http/index.jsp  Copyright © vietjack.com 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 tại. Sau đó, hai chúng quên tất nhau. 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: http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/http/index.jsp Copyright © vietjack.com 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ó thể. 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 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 đầu tiên. 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 http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/http/index.jsp Copyright © vietjack.com 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 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 http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/http/index.jsp Copyright © vietjack.com 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 Content-EncodingHeader mà quan sát chương kế tiếp. Ví dụ Dưới sơ đồ mã hóa hợp lệ: Accept-encoding: gzip 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 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 ) http://vietjack.com/ Trang chia sẻ học online miễn phí Page 10 http://vietjack.com/http/index.jsp Copyright © vietjack.com Mục tiêu lưu vào nhớ ẩn HTTP/1.1 để tính toán cần thiết để gửi yêu cầu nhiều trường hợp, để tính toán cần thiết để gửi phản hồi đầy đủ nhiều trường hợp khác. Kỹ thuật nhớ ẩn sở HTTP/1.1 gồm thị tới nhớ ẩn nơi mà Server xác định thời gian ngày mãn hạn. Chúng ta sử dụng trường Cache-Control cho mục đích này. Trường Cache-Control cho phép Client Server để truyền thị đa dạng yêu cầu phản hồi. Những thị có đặc trưng có quyền ưu tiên cao thuật toán lưu vào nhớ ẩn theo mặc định. Các thị lưu vào nhớ ẩn xác định danh sách phân biệt dấu phảy. Ví dụ: Cache-control: no-cache Sau thị yêu cầu nhớ ẩn sử dụng Client yêu cầu HTTP nó: STT Chỉ dẫn yêu cầu nhớ ẩn miêu tả no-cache Một nhớ ẩn phải không sử dụng phản hồi để làm thỏa mãn yêu cầu theo sau mà không tái xác nhận thành công với Server ban đầu. no-store Bộ nhớ ẩn không nên lưu giữ thứ yêu cầu Client phản hồ Server. max-age = (tính giây) Chỉ Client muốn chấp nhận phản hồi mà thời gian không lớn thời gian xác định giây (s). max-stale [= giây] Chỉ Client muốn chấp nhận phản hồi mà vượt thời gian mãn hạn. Nếu số giây cung cấp, phải không hết hạn nhiều thời gian đó. http://vietjack.com/ Trang chia sẻ học online miễn phí Page 57 http://vietjack.com/http/index.jsp Copyright © vietjack.com min-fresh = giây Chỉ Client muốn chấp nhận phản hồi mà thời gian sống khỏe không tuổi cộng với thời gian xác định giây. no-transform Không chuyển đổi phần thân đối tượng. only-if-cached Không lấy liệu mới. Bộ nhớ ẩn gửi tài liệu nhớ ẩn, không nên liên hệ với Server ban đầu để xem xét tồn tại. Các thị phản hồi nhớ ẩn sau sử dụng Server phản hồi HTTP nó: STT Chỉ dẫn phản hồi nhớ ẩn Miêu tả public Chỉ phản hồi giữ nhớ ẩn nhớ ẩn nào. private Chỉ tất phần thông báo phản hồi xem cho người sử dụng đơn phải không giữ nhớ ẩn nhớ ẩn chia sẻ. no-cache Một nhớ ẩn phải không sử dụng phản hồi để thỏa mãn yêu cầu theo sau mà không tái xác nhận thành công với Server ban đầu. no-store Bộ nhớ ẩn không nên lưu yêu cầu Client phản hồi http://vietjack.com/ Trang chia sẻ học online miễn phí Page 58 http://vietjack.com/http/index.jsp Copyright © vietjack.com Server. no-transform Không chuyển đổi phần thân đối tượng. must-revalidate Bộ nhớ ẩn phải xác minh trạng thái tài liệu cũ trước sử dụng tài liệu mãn hạn không nên sử dụng. proxy-revalidate Chỉ dẫn tái xác nhận ủy quyền có ý nghĩa với dẫn must-revalidate, ngoại trừ không áp dụng tới nhớ ẩn user agent không chia sẻ max-age = giây Chỉ Client muốn chấp nhận yêu cầu mà tuổi không lớn thời gian xác định giây. s-maxage = giây Tuổi tối đa xác định dẫn vượt tuổi tối đa xác định dẫn max-age Expires Header. Chỉ dẫn s-maxage luôn bỏ qua nhớ cá nhân. Mã hóa URL HTTP Các HTTP URL gửi thông qua Internet sử dụng ký tự ASCII, mà thường chứa ký tự bên ký tự ASCII. Vì ký tự không an toàn phải đổi chỗ với a % theo sau hai ký số hệ thập lục phân. Bảng ký hiệu ASCII ký tự thay chúng mà sử dụng URL trước truyền tới Server. ASCII Biểu tượng Sự thay http://vietjack.com/ Trang chia sẻ học online miễn phí Page 59 http://vietjack.com/http/index.jsp Copyright © vietjack.com Mã hóa với %xx, với xx đại diện hệ thập lục phân ký tự. < 32 32 space + or %20 33 ! %21 34 " %22 35 # %23 36 $ %24 37 % %25 38 & %26 39 ' %27 40 ( %28 41 ) %29 42 * * 43 + %2B 44 , %2C 45 - - http://vietjack.com/ Trang chia sẻ học online miễn phí Page 60 http://vietjack.com/http/index.jsp 46 . . 47 / %2F 48 49 50 51 52 53 54 55 56 57 58 : %3A 59 ; %3B 60 < %3C Copyright © vietjack.com http://vietjack.com/ Trang chia sẻ học online miễn phí Page 61 http://vietjack.com/http/index.jsp 61 = %3D 62 > %3E 63 ? %3F 64 @ %40 65 A A 66 B B 67 C C 68 D D 69 E E 70 F F 71 G G 72 H H 73 I I 74 J J 75 K K Copyright © vietjack.com http://vietjack.com/ Trang chia sẻ học online miễn phí Page 62 http://vietjack.com/http/index.jsp 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 90 Z Z Copyright © vietjack.com http://vietjack.com/ Trang chia sẻ học online miễn phí Page 63 http://vietjack.com/http/index.jsp 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 Copyright © vietjack.com http://vietjack.com/ Trang chia sẻ học online miễn phí Page 64 http://vietjack.com/http/index.jsp 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 Copyright © vietjack.com http://vietjack.com/ Trang chia sẻ học online miễn phí Page 65 http://vietjack.com/http/index.jsp 121 y y 122 z z 123 { %7B 124 | %7C 125 } %7D 126 ~ %7E Copyright © vietjack.com 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. http://vietjack.com/ Trang chia sẻ học online miễn phí Page 66 http://vietjack.com/http/index.jsp  Copyright © vietjack.com 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.  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 tại. 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. http://vietjack.com/ Trang chia sẻ học online miễn phí Page 67 http://vietjack.com/http/index.jsp Copyright © vietjack.com 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. Ủ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 đề này. 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 tutorialspoint.com. Client yêu cầu: GET /hello.htm HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) http://vietjack.com/ Trang chia sẻ học online miễn phí Page 68 http://vietjack.com/http/index.jsp Copyright © vietjack.com Host: www.tutorialspoint.com 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 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êntutorialspoint.com. Client yêu cầu GET /t.html HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) Host: www.tutorialspoint.com 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 http://vietjack.com/ Trang chia sẻ học online miễn phí Page 69 http://vietjack.com/http/index.jsp Copyright © vietjack.com Content-Type: text/html; charset=iso-8859-1 Connection: Closed 404 Not Found Not Found The requested URL /t.jspl was not found on this server. Ví dụ HTTP yêu cầu rút trang hello.htm từ Server chạy tutorialspoint.com 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.tutorialspoint.com 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 http://vietjack.com/ Trang chia sẻ học online miễn phí Page 70 http://vietjack.com/http/index.jsp Copyright © vietjack.com 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. Ví dụ HTTP yêu cầu để gửi liệu mẫu tới trang process.cgi Server chạy trêntutorialspoint.com. 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.tutorialspoint.com 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=tutorialspoint.com;Expires=Mon, 19- http://vietjack.com/ Trang chia sẻ học online miễn phí Page 71 http://vietjack.com/http/index.jsp Copyright © vietjack.com Nov-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 này. Các đường link hữu ích HTTP  Tutorialspoint − Loạt hướng dẫn xây dựng dựa nguồn này.  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. http://vietjack.com/ Trang chia sẻ học online miễn phí Page 72 [...]... Phản hồi từ Server tới Client mà sẽ theo định dạng sau: http: //vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 11 http: //vietjack.com /http/ index.jsp HTTP- message Copyright © vietjack.com = | ; HTTP/ 1.1 messages Các yêu cầu HTTP và các phản hồi HTTP sử dụng một định dạng thông báo chung của RFC 822 cho truyền trải dữ liệu được yêu cầu Định dạng thông báo chung này bao gồm... dữ liệu yêu cầu HTTP thực sự (bao gồm dữ liệu mẫu và được tải lên,…) và dữ liệu phản hồi HTTP từ Server (bao gồm các file, ảnh, …) Dưới đây là nội dung đơn giản của một phần thân thông báo: Hello, World! Hai chương tới chúng ta sẽ bàn về cách sử dụng của các khái niệm được giải thích để chuẩn bị Các yêu cầu HTTP và Các phản hồi HTTP Yêu cầu (Request) trong HTTP. .. hồi HTTP Dòng trạng thái Một dòng trạng thái bao gồm phiên bản giao thức được theo sau bởi một mã hóa trạng thái số và cụm từ thuần văn bản được liên kết của nó http: //vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 20 http: //vietjack.com /http/ index.jsp Copyright © vietjack.com Status-Line = HTTP- Version SP Status-Code SP Reason-Phrase CRLF Phiên bản HTTP Một Server hỗ trợ phiên bản HTTP/ 1.1... not found on this server. Tiếp theo là một ví dụ của một thông báo phản hồi HTTP chỉ trạng thái lỗi khi Server nhập vào một phiên bản HTTP sai trong yêu cầu HTTP đã cung cấp: HTTP/ 1.1 400 Bad Request http: //vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 23 http: //vietjack.com /http/ index.jsp Copyright © vietjack.com Date: Sun, 18 Oct 2012 10:36:20 GMT Server: Apache/2.2.14... tiêu Phương thức GET Một yêu cầu GET lấy dữ liệu từ một Server bởi việc xác định các tham số trong đoạn URL của yêu cầu Đây là phương thức chính được sử dụng để thu hồi tài liệu Ví dụ sau chỉ cách sử dụng của phương thức GET để chỉ thị hello.htm: GET /hello.htm HTTP/ 1.1 http: //vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 25 http: //vietjack.com /http/ index.jsp Copyright © vietjack.com User-Agent:... deflate http: //vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 19 http: //vietjack.com /http/ index.jsp Copyright © vietjack.com Connection: Keep-Alive 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 ... đây liệt kê tất cả các method được hỗ trợ trong HTTP/ 1.1 STT Phương thức và Miêu tả 1 GET GET được sử dụng để lấy lại thông tin từ Server đã cung cấp bởi sử dụng một URI đã cung cấp Các yêu cầu sử dụng GET nên chỉ nhận dữ liệu và nên không có ảnh hưởng gì tới dữ liệu http: //vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 15 http: //vietjack.com /http/ index.jsp 2 Copyright © vietjack.com HEAD... trong phản hồi tới yêu cầu trên: HTTP/ 1.1 200 OK Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache/2.2.14 (Win32) Connection: close Content-Type: message /http Content-Length: 39 TRACE / HTTP/ 1.1 Host: www.tutorialspoint.com User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) http: //vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 30 http: //vietjack.com /http/ index.jsp Copyright © vietjack.com... được thực hiện 5 5xx: Lỗi Server Nó nghĩa là Server thất bại với việc thực hiện một yêu cầu nhìn như có vẻ http: //vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 21 http: //vietjack.com /http/ index.jsp Copyright © vietjack.com khả thi Mã hóa trạng thái HTTP là có thể co giãn và ứng dụng HTTP không được yêu cầu để hiểu ý nghĩa của tất cả các mã trạng thái được đăng ký Một danh sách của tất cả... Thông báo Phản hồi Bây giờ chúng ta đặt tất cả các thứ trên cùng với nhau để tạo một phản hồi HTTP cho một yêu cầu để chỉ thị trang hello.jsp từ Server đang chạy trên tutorialspoint.com http: //vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 22 http: //vietjack.com /http/ index.jsp Copyright © vietjack.com HTTP/ 1.1 200 OK Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache/2.2.14 (Win32) Last-Modified: . bản HTTP: HTTP- Version = " ;HTTP& quot; "/" 1*DIGIT "." 1*DIGIT Ví dụ HTTP/ 1.0 or HTTP/ 1.1 http: //vietjack.com /http/ index.jsp Copyright © vietjack.com http: //vietjack.com/. quan như HTTP/ 1.1. HTTP/ 1.1 là một phiên bản của HTTP ban đầu (HTTP/ 1.0). Sự khác biệt lớn giữa HTTP/ 1.0 và HTTP/ 1.1 là HTTP/ 1.0 sử dụng một kết nối mới cho mỗi Yêu http: //vietjack.com /http/ index.jsp. miêu tả vị trí của HTTP: http: //vietjack.com /http/ index.jsp Copyright © vietjack.com http: //vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 8 Giao thức HTTP là một giao thức

Ngày đăng: 20/09/2015, 09:40

Tài liệu cùng người dùng

Tài liệu liên quan