HTTP đã trở thành một phần không thể thiếu của cơ sở hạ tầng mạng của Internet, cho phép các trình duyệt web và các ứng dụng web truy cập các trang web và dịch vụ web trên mạng.Giao thức
Trang 1ĐẠI HỌC DUY TÂN KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN
MẠNG MÁY TÍNH
ĐỀ TÀI 14 : GIỚI THIỆU VỀ HTTP VÀ HTTPS
Giảng viên hướng dẫn: Đặng Ngọc Cường
Trang 2Mục Lục:
I.HTTP
1.Lịch sử HTTP: 3
2.Thông tin tiêu chuẩn về HTTP: 4
3.Thông số kỹ thuật: 5
4.Sử dụng HTTP ngày nay: 6
II.HTTPS 1.Lịch sử HTTPS: 7
2.Thông tin tiêu chuẩn về HTTPS: 7
3.Thông số kỹ thuật: 8
4.Sử dụng HTTPS ngày nay: 9
III.DEMO IIS: 1.Giới Thiệu IIS: 10
2.Cài đặt IIS bằng GUI: 11
3.Tạo trang web đầu tiên cho IIS: 13
4.Cài đặt IIS bằng các lệnh Windows: 19
5.Cài đặt IIS bằng PowerShell: 20
Trang 3Giao thức HTTP được phát triển bởi Tim Berners-Lee tại CERN (Tổ chức Hạt nhân châu Âu) vào những năm đầu của Web, khoảng giữa những năm 1989 và 1991 Đầu tiên, giao thức HTTP được đưa ra với phiên bản 0.9, chỉ hỗ trợ việc truyền tải các tệp tin HTML đơn giản Tuy nhiên, phiên bản 1.0 của HTTP đã đượcphát triển trong những năm tiếp theo, cung cấp nhiều tính năng mới như hỗ trợ trang web đa phương tiện, phân trang và kết nối nhiều.
Vào năm 1996, phiên bản 1.1 của HTTP đã được giới thiệu, đem lại nhiều tính năng mới, bao gồm kiểm soát băng thông, định vị dịch vụ và các cập nhật về bảo mật Tuy nhiên, HTTP/1.1 vẫn còn
độ trễ và không hiệu quả trong môi trường mạng lớn
Để giải quyết vấn đề này, HTTP/2 đã được giới thiệu vào năm
2015, là một phiên bản cải tiến của HTTP/1.1, tăng tốc độ truyền tải dữ liệu, giảm thiểu độ trễ và tối ưu hóa băng thông mạng Vào thời điểm hiện tại, HTTP/2 vẫn được sử dụng rộng rãi trong các ứng dụng web hiện đại
Trang 42.Thông tin tiêu chuẩn về HTTP:
HTTP (Hypertext Transfer Protocol) là một giao thức mạng được
sử dụng để truyền tải các tài nguyên web giữa các máy chủ và trình duyệt web HTTP được quy định bởi một số tiêu chuẩn, chuẩn hóa và tài liệu hướng dẫn, bao gồm:
- RFC 2616: Được phát hành vào năm 1999, RFC 2616 là tài liệu tiêu chuẩn đầu tiên định nghĩa HTTP/1.1 Nó quy định cú pháp vàcách thức hoạt động của giao thức HTTP
- RFC 7230, RFC 7231, RFC 7232, RFC 7233, RFC 7234 và RFC 7235: Được phát hành vào năm 2014, tài liệu này cập nhật các chuẩn HTTP trước đó, đặc biệt là RFC 2616 Nó định nghĩa các yêu cầu và phản hồi HTTP/1.1 mới hơn và giải quyết các vấn
đề bảo mật và hiệu suất
- RFC 7540: Được phát hành vào năm 2015, RFC 7540 định nghĩa HTTP/2, phiên bản mới hơn của giao thức HTTP Nó cung cấp các tính năng như đa luồng, nén, ưu tiên và giao tiếp đa hướng
- RFC 2818: Được phát hành vào năm 2000, RFC 2818 định nghĩa HTTPS (HTTP Secure), một phiên bản bảo mật của giao thức HTTP Nó định nghĩa cách sử dụng chứng chỉ số để bảo mật
dữ liệu trên đường truyền
- W3C HTTP/1.1 specification: Được phát hành bởi W3C (World Wide Web Consortium), tài liệu này cung cấp các chỉ dẫn và hướng dẫn cho việc triển khai giao thức HTTP/1.1 Nó cũng cung cấp các hướng dẫn cho việc phát triển các ứng dụng web tuân thủ tiêu chuẩn HTTP
Các tài liệu tiêu chuẩn, chuẩn hóa và hướng dẫn trên giúp đảm bảo tính tương thích và độ tin cậy của giao thức HTTP trong các ứng dụng web và các dịch vụ trực tuyến khác
Trang 5HTTP sử dụng cú pháp đơn giản để truyền tải dữ liệu dưới dạng các gói tin HTTP, gọi là các yêu cầu và phản hồi (request và response).
Các yêu cầu HTTP được chia thành ba phần chính: dòng yêu cầu (request line), tiêu đề yêu cầu (request headers) và thân yêu cầu (request body)
Các phản hồi HTTP cũng được chia thành ba phần chính: dòng phản hồi (response line), tiêu đề phản hồi (response headers) và thân phản hồi (response body)
Các yêu cầu và phản hồi HTTP đều có mã trạng thái (status code),chỉ ra kết quả của yêu cầu hoặc phản hồi (ví dụ: mã trạng thái 200
OK cho thấy yêu cầu thành công)
HTTP hỗ trợ nhiều phương thức yêu cầu, bao gồm GET, POST, PUT, DELETE, HEAD và OPTIONS
HTTP/2 hỗ trợ nén đường truyền, đa luồng, gửi thông tin tiêu đề trước và nhiều tính năng khác nhằm cải thiện hiệu suất và tối ưu hóa băng thông
Các thông số kỹ thuật khác của HTTP có thể thay đổi theo từng phiên bản của giao thức và từng ứng dụng cụ thể
Trang 64.Sử dụng HTTP ngày nay:
HTTP đã trở thành một công nghệ quan trọng và không thể thiếu trong đời sống hàng ngày của chúng ta Sau đây là một số ứng dụng của HTTP ngày nay:
- Truy cập trang web: HTTP là giao thức truyền tải dữ liệu trên web phổ biến nhất Khi bạn truy cập vào một trang web trên trình duyệt của mình, trình duyệt sẽ sử dụng giao thức HTTP để gửi yêu cầu đến máy chủ web và nhận phản hồi từ máy chủ đó
- Tương tác với API: Các ứng dụng web thường sử dụng API (Application Programming Interface) để truyền thông tin giữa cácmáy chủ và ứng dụng web Điều này thường được thực hiện thông qua HTTP, với các yêu cầu API được gửi dưới dạng các yêucầu HTTP và phản hồi API được trả về dưới dạng các phản hồi HTTP
- Truyền tải file: HTTP được sử dụng để truyền tải các file trên web, chẳng hạn như hình ảnh, video và tài liệu Khi bạn tải xuốngmột file từ web, trình duyệt của bạn sử dụng giao thức HTTP để gửi yêu cầu tải file đến máy chủ web và nhận file đó từ máy chủ
- Cập nhật trang web động: HTTP được sử dụng để truyền tải dữ liệu giữa máy chủ và trình duyệt để cập nhật các trang web động Khi bạn tương tác với một trang web động, trình duyệt của bạn sẽ
sử dụng HTTP để gửi yêu cầu đến máy chủ web và nhận phản hồi
để cập nhật trang web
- Thương mại điện tử: HTTP được sử dụng để truyền tải thông tin thanh toán và đặt hàng trực tuyến Khi bạn mua hàng trực tuyến, các thông tin thanh toán và đặt hàng của bạn được truyền tải qua giao thức HTTPS (HTTP Secure), một phiên bản bảo mật của HTTP
Với sự phát triển của internet và các ứng dụng web, HTTP ngày càng trở nên quan trọng hơn và được sử dụng rộng rãi trong đời sống hàng ngày của chúng ta
Trang 71.Lịch sử HTTPS:
Giao thức HTTPS được phát triển bởi Netscape Communications Corporation vào những năm 1990, sau đó được đưa vào sử dụng rộng rãi từ năm 1994 Tuy nhiên, HTTPS chưa được sử dụng phổ biến cho đến khi các công ty lớn như Google và Facebook bắt đầu
sử dụng nó trong các dịch vụ của mình vào những năm 2010 Netscape Communications đã tạo ra HTTPS vào năm 1994 cho trình duyệt web Netscape Navigator Ban đầu, HTTPS được sử dụng với giao thức SSL Khi SSL phát triển thành Bảo mật tầng truyền tải (TLS), HTTPS được RFC 2818 chính thức xác định vàotháng 5 năm 2000 Google đã thông báo vào tháng 2 năm 2018 rằng trình duyệt Chrome của họ sẽ đánh dấu các trang web HTTP
là "Không an toàn" sau tháng 7 năm 2018 Động thái này nhằm khuyến khích chủ sở hữu trang web triển khai HTTPS, như một
nỗ lực để làm cho World Wide Web an toàn hơn
2.Thông tin tiêu chuẩn về HTTPS:
HTTPS là viết tắt của Hypertext Transfer Protocol Secure, là một giao thức mạng được sử dụng để truyền tải dữ liệu trên Internet HTTPS là phiên bản an toàn hơn của giao thức HTTP thông thường, vì nó sử dụng SSL (Secure Socket Layer) hoặc TLS (Transport Layer Security) để mã hóa dữ liệu giữa máy khách và máy chủ
Các tiêu chuẩn để triển khai HTTPS bao gồm:
- Chứng chỉ SSL/TLS: Một chứng chỉ SSL/TLS là một giấy chứng nhận được cấp bởi một tổ chức chứng thực như Verisign, Symantec hoặc Thawte để xác nhận tính toàn vẹn của một trang web Chứng chỉ này sẽ được sử dụng để xác minh tính toàn vẹn
và độ tin cậy của máy chủ, đồng thời cung cấp cho trình duyệt củangười dùng thông tin để xác định liệu trang web đó có an toàn haykhông
Trang 8- Mã hóa SSL/TLS: SSL/TLS sử dụng một chuỗi mã hóa để mã hóa dữ liệu trên Internet Mã hóa này bao gồm việc sử dụng khóa
bí mật để mã hóa thông tin trước khi gửi qua mạng, và khóa công khai để giải mã thông tin khi nó đã được nhận Điều này giúp đảmbảo tính toàn vẹn và bảo mật dữ liệu
- Chuyển đổi HTTP sang HTTPS: Để triển khai HTTPS trên một trang web, chúng ta cần phải chuyển đổi tất cả các liên kết HTTP sang HTTPS Điều này đảm bảo rằng tất cả các trang web được truy cập đều được bảo vệ bằng SSL/TLS
- Cập nhật cấu hình máy chủ: Cấu hình máy chủ cũng phải được cập nhật để đảm bảo tính toàn vẹn và bảo mật dữ liệu Các thiết lập này có thể bao gồm cài đặt tường lửa, cập nhật phần mềm bảo mật, và thêm các cài đặt khác để bảo vệ dữ liệu trên máy chủ
3.Thông số kỹ thuật:
Điểm khác biệt với HTTP Các URL(Uniform Resource Locator) HTTPS bắt đầu bằng "https://" và sử dụng port cổng 443 theo mặc định, trong khi các URL HTTP bắt đầu bằng "http://" và sử dụng port cổng 80 theo mặc định HTTP không được mã hóa và
do đó dễ bị tấn công kẻ trung gian và nghe trộm
HTTPS được thiết kế để chống lại các cuộc tấn công như vậy và được coi là an toàn trước chúng (ngoại trừ việc triển khai HTTPS
sử dụng các phiên bản SSL không dùng nữa)
Các tầng mạng HTTP hoạt động ở tầng cao nhất của mô hình TCP/IP — tầng ứng dụng; cũng như giao thức bảo mật TLS (hoạt động như một tầng con thấp hơn của cùng một tầng), mã hóa một thông điệp HTTP trước khi truyền và giải mã một thông báo khi đến
SSL/TLS không ngăn chặn việc lập chỉ mục trang web bởi trình thu thập thông tin và trong một số trường hợp, URI(Uniform Resource Identifier) của tài nguyên được mã hóa có thể được suy
ra bằng cách chỉ biết kích thước yêu cầu / phản hồi bị chặn Điều này cho phép kẻ tấn công có quyền truy cập
Trang 9SEO: HTTPS được xem là một yếu tố xếp hạng trong các công cụtìm kiếm như Google, vì nó đóng vai trò quan trọng trong việc bảo vệ thông tin của người dùng và cải thiện trải nghiệm của họ.Đảm bảo dữ liệu không bị thay đổi trong quá trình truyền tải, giữ nguyên tính toàn vẹn của thông tin.
4.Sử dụng HTTPS ngày nay:
Sử dụng công nghệ HTTPS ngày nay là rất phổ biến và cần thiết trong việc đảm bảo an toàn thông tin trên Internet Với việc sử dụng HTTPS, dữ liệu được truyền tải giữa trình duyệt và máy chủđược mã hóa để tránh bị đánh cắp hoặc thay đổi thông tin.Các trình duyệt web hiện đại đều hỗ trợ HTTPS, và một số trình duyệt thậm chí còn cảnh báo người dùng khi họ truy cập trang web không sử dụng HTTPS
Các công ty, tổ chức và doanh nghiệp cũng đang chuyển đổi từ HTTP sang HTTPS để đảm bảo an toàn thông tin của khách hàng
và tăng độ tin cậy của trang web Ngoài ra, việc sử dụng HTTPS còn giúp tăng hạn chế việc truy cập trang web bị cấm hay bị theo dõi bởi các tổ chức hoặc cá nhân không đáng tin cậy
Trên thị trường hiện nay, các nhà cung cấp chứng chỉ SSL/TLS đãphát triển nhiều loại chứng chỉ khác nhau, từ miễn phí đến các loại chứng chỉ có tính năng nâng cao Ngoài ra, việc triển khai HTTPS cũng đã trở nên dễ dàng hơn với sự phát triển của các công cụ hỗ trợ và các hướng dẫn triển khai được cung cấp bởi cácnhà cung cấp dịch vụ lưu trữ web
Tóm lại, việc sử dụng công nghệ HTTPS ngày nay là rất quan trọng và cần thiết để đảm bảo an toàn thông tin trên Internet, đặc biệt là trong việc thực hiện các giao dịch trực tuyến như mua hàng, thanh toán trực tuyến hay truy cập vào các tài khoản cá nhân
Trang 10III.DEMO IIS:
1.Giới Thiệu IIS:
IIS là viết tắt của từ Internet Information Services IIS được đính kèm với các phiên bản của Windows
Microsoft Internet Information Services (các dịch vụ cung cấp thông tin Internet) là các dịch vụ dành cho máy chủ chạy trên nền
Hệ điều hànhWindow nhằm cung cấp và phân tán các thông tin lên mạng, nó bao gồm nhiều dịch vụ khác nhau như Web Server, FTP Server,…sử dụng để xuất bản nội dung của các trang Web lên Internet/Intranet bằng việc sử dụng “Phương thức chuyển giaosiêu văn bản“ – Hypertext Transport Protocol (HTTP) sau khi thiết kế xong các trang Web của mình, nếu bạn muốn đưa chúng lên mạng để mọi người có thể truy cập và xem chúng thì bạn phải nhờ đến một Web Server, ở đây là IIS Nếu không thì trang Web của bạn chỉ có thể được xem trên chính máy của bạn hoặc thông qua việc chia sẻ tệp (file sharing) như các tệp bất kỳ trong mạng nội bộ mà thôi Có 3 cách để cài đặt và thiết lập trang web trong IIS trên Windows 10; sử dụng giao diện người dùng đồ họa (GUI), PowerShell hoặc Windows CMD
2.Cài đặt IIS bằng GUI:
Đây là phương pháp đơn giản để thiết lập trang web trong IISB1:gõ “turn on windows” trên thanh Search Tiện ích Turn
Windows features on or off sẽ hiển thị Nhấn vào nó
Trang 11B2: Cửa sổ Windows Features sẽ mở Có thể mất một chút thời gian để các tính năng khác load Khi đã xong, nhấp vào hộp kiểm bên cạnh Internet Information Services, sau đó nhấp vào nút OK.
B3: việt cài đặt sẽ bắt đầu và có thể mất vài phút Sau khi hoàn thành, hãy nhấp vào nút Close
Trang 12B4: Để đảm bảo IIS được cài đặt và hoạt động, hãy nhập IIS vào thanh Search gần nút Start Kết quả là bạn sẽ thấy Internet Information Services Manager Nhấn vào đó để mở.
B5: Khi IIS Manager mở, hãy nhìn vào bên trái cửa sổ trong phần Connections Mở rộng menu dạng cây cho đến khi bạn thấy Default Web Site Đó là một trang web giữ chỗ được cài đặt với IIS Nhấn vào nó để chọn
B6: Ở bên phải của IIS Manager, hãy xem phần Browse Website Nhấp vào Browse *:80 (http) Trang web mặc định sẽ mở trong trình duyệt web mặc định
Trang 13B7:Bạn sẽ thấy một trang web như sau Lưu ý thanh địa chỉ có nộidung localhost Đó là địa chỉ để nhập vào trang web mới.
3.Tạo trang web đầu tiên cho IIS:
Trước khi đi vào hai phương pháp cài đặt IIS khác, hãy xem các file tạo trang web được lưu trữ ở đâu
B1: Sau khi IIS được cài đặt, hãy mở File Explorer Điều hướng
Trang 14cần được lưu trữ Bạn sẽ thấy file trang web IIS mặc
định, iisstart.html và hình ảnh hiển thị trên trang, iisstart.png Đây
là nơi bạn sẽ lưu trang web đầu tiên của mình
B2: Mở Notepad với quyền admin Để lưu vào vị trí wwwroot, bạn phải là quản trị viên
Nhấp chuột phải vào bất cứ nơi nào trống trên desktop và chọn New > Shortcut Nó sẽ cho phép bạn thêm một shortcut mới vào desktop
hộp và nhấn Next Đây là đường dẫn đến ứng dụng Notepad
Trang 15bạn cần nhập tên cho shortcut, chẳng hạn như Notepad with Admin, rồi nhấn vào Finish.
Các shortcut mới được tạo sẽ có sẵn trên desktop Nhấp chuột phải vào nó và chọn tùy chọn Properties để cấp quyền quản trị
Trang 17B3: Lưu file vào vị trí wwwroot Đặt tên là index.html và thay đổi Save as type: thành All Files Sau đó nhấp vào nút Save.
B4: Bây giờ, nó đã được lưu dưới dạng filetype đúng, hãy thêm một số nội dung trong đó Nhập mã HTML sau để có một trang
Trang 18B5: Quay trở lại trình duyệt web có trang web IIS mặc định Bấm vào nút Refresh Bây giờ, bạn sẽ thấy trang web đầu tiên của mình.
Trang 194.Cài đặt IIS bằng các lệnh Windows:
B1: Mở Command Prompt với quyền admin
B2: Nhập lệnh sau DISM /online /enable-feature
/featureName:IIS-DefaultDocument /All và nhấn Enter
B3: Bạn sẽ thấy một thanh tiến trình xuất hiện Khi nó
đạt 100,0% và bạn thấy thông báo “The operation completed successfully”, bạn có thể đóng Command Prompt IIS đã được càiđặt
Trang 205.Cài đặt IIS bằng PowerShell:
B1: Chạy PowerShell ISE với quyền admin
Trang 21B2: Nhập cmdlet sau Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole -NoRestart và chạy nó
B3: Bạn sẽ thấy một thanh tiến trình bắt đầu