Hướng dẫn get http or https in javascript - lấy http hoặc https trong javascript

352

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Có cách nào để phát hiện HTTP hoặc HTTPS và sau đó buộc sử dụng HTTPS với JavaScript không?

Tôi có một số mã để phát hiện HTTP hoặc HTTPS nhưng tôi không thể buộc nó sử dụng

if (location.protocol !== 'https:') {
    location.replace(`https:${location.href.substring(location.protocol.length)}`);
}
0.

Tôi đang sử dụng thuộc tính window.location.protocol để đặt bất kỳ trang web nào để

if (location.protocol !== 'https:') {
    location.replace(`https:${location.href.substring(location.protocol.length)}`);
}
0 sau đó làm mới trang để hy vọng tải lại một URL mới được tải vào trình duyệt.

if (window.location.protocol != "https:") {
   window.location.protocol = "https:";
   window.location.reload();
}

Hướng dẫn get http or https in javascript - lấy http hoặc https trong javascript

hỏi ngày 18 tháng 1 năm 2011 lúc 10:52Jan 18, 2011 at 10:52

Người dùng đã đăng ký người dùngRegistered User

8.3368 Huy hiệu vàng31 Huy hiệu bạc40 Huy hiệu đồng8 gold badges31 silver badges40 bronze badges

5

Thử cái này

if (location.protocol !== 'https:') {
    location.replace(`https:${location.href.substring(location.protocol.length)}`);
}

if (location.protocol !== 'https:') {
    location.replace(`https:${location.href.substring(location.protocol.length)}`);
}
2 Thêm chuyển hướng này vào lịch sử trình duyệt. Nếu người dùng nhấn nút quay lại, họ sẽ được chuyển hướng trở lại cùng một trang. Tốt hơn là sử dụng
if (location.protocol !== 'https:') {
    location.replace(`https:${location.href.substring(location.protocol.length)}`);
}
3 vì nó không thêm chuyển hướng này vào lịch sử trình duyệt.

Hướng dẫn get http or https in javascript - lấy http hoặc https trong javascript

Nathan

5512 Huy hiệu bạc16 Huy hiệu Đồng2 silver badges16 bronze badges

Đã trả lời ngày 18 tháng 1 năm 2011 lúc 11:02Jan 18, 2011 at 11:02

14

Đó không phải là ý kiến ​​hay bởi vì bạn chỉ chuyển hướng người dùng tạm thời sang HTTPS và trình duyệt không lưu chuyển hướng này.

Bạn mô tả nhiệm vụ cho máy chủ web (Apache, nginx, v.v.) HTTP 301, HTTP 302

Đã trả lời ngày 7 tháng 7 năm 2012 lúc 12:20Jul 7, 2012 at 12:20

Hướng dẫn get http or https in javascript - lấy http hoặc https trong javascript

b1_b1_b1_

2.0591 Huy hiệu vàng27 Huy hiệu bạc39 Huy hiệu đồng1 gold badge27 silver badges39 bronze badges

5

Còn cái này thì sao?

if (window.location.protocol !== 'https:') {
    window.location = 'https://' + window.location.hostname + window.location.pathname + window.location.hash;
}

Lý tưởng nhất là bạn sẽ làm điều đó ở phía máy chủ, mặc dù.

Đã trả lời ngày 18 tháng 1 năm 2011 lúc 11:03Jan 18, 2011 at 11:03

Keirogkeirogkeirog

2.1181 Huy hiệu vàng19 Huy hiệu bạc17 Huy hiệu đồng1 gold badge19 silver badges17 bronze badges

2

if (location.protocol == 'http:')
  location.href = location.href.replace(/^http:/, 'https:')

Đã trả lời ngày 10 tháng 1 năm 2014 lúc 0:07Jan 10, 2014 at 0:07

0

Không phải là một cách JavaScript để trả lời điều này nhưng nếu bạn sử dụng CloudFlare, bạn có thể viết các quy tắc trang chuyển hướng người dùng nhanh hơn nhiều đến HTTPS và nó miễn phí. Có vẻ như điều này trong các quy tắc trang của CloudFlare:

Hướng dẫn get http or https in javascript - lấy http hoặc https trong javascript

Đã trả lời ngày 2 tháng 1 năm 2016 lúc 7:10Jan 2, 2016 at 7:10

Hướng dẫn get http or https in javascript - lấy http hoặc https trong javascript

MikeumusmikeumusMikeumus

3.1829 Huy hiệu vàng40 Huy hiệu bạc59 Huy hiệu Đồng9 gold badges40 silver badges59 bronze badges

1

Bạn có thể làm:

  

Hướng dẫn get http or https in javascript - lấy http hoặc https trong javascript

Bhargav Rao

47.5K27 Huy hiệu vàng122 Huy hiệu bạc137 Huy hiệu đồng27 gold badges122 silver badges137 bronze badges

Đã trả lời ngày 24 tháng 7 năm 2019 lúc 0:45Jul 24, 2019 at 0:45

Hướng dẫn get http or https in javascript - lấy http hoặc https trong javascript

1

Mã dưới đây giả định rằng biến 'str' chứa chuỗi http: // .... của bạn. Nó kiểm tra xem đó có phải là HTTPS hay không và nếu đúng không làm gì cả. Tuy nhiên, nếu đó là HTTP, nó sẽ thay thế HTTP bằng HTTPS.

if (str.indexOf('https') === -1) {
  str = str.replace('http', 'https')
}

Đã trả lời ngày 20 tháng 6 năm 2020 lúc 23:15Jun 20, 2020 at 23:15

Hướng dẫn get http or https in javascript - lấy http hoặc https trong javascript

2

Tôi thích câu trả lời cho câu hỏi này. Nhưng để sáng tạo, tôi muốn chia sẻ một cách nữa:


Đã trả lời ngày 20 tháng 12 năm 2019 lúc 3:29Dec 20, 2019 at 3:29

Hướng dẫn get http or https in javascript - lấy http hoặc https trong javascript

Jade Hameljade HamelJade Hamel

1.3001 Huy hiệu vàng15 Huy hiệu bạc 30 Huy hiệu Đồng1 gold badge15 silver badges30 bronze badges

Cách chức năng

window.location.protocol === 'http:' && (location.href = location.href.replace(/^http:/, 'https:'));

Đã trả lời ngày 27 tháng 6 năm 2019 lúc 13:47Jun 27, 2019 at 13:47

МДмитрий Васильев

4,8651 Huy hiệu vàng18 Huy hiệu bạc15 Huy hiệu đồng1 gold badge18 silver badges15 bronze badges

1

Tôi vừa có tất cả các biến thể tập lệnh được kiểm tra bởi PUI CDM, bao gồm các câu trả lời ở trên và nhiều câu trả lời khác sử dụng PHP, HTACCESS, Cấu hình máy chủ và JavaScript

 

Được cung cấp bởi Vivek-srivastava hoạt động tốt nhất và bạn có thể thêm bảo mật hơn nữa trong tập lệnh Java.

Hướng dẫn get http or https in javascript - lấy http hoặc https trong javascript

Đã trả lời ngày 19 tháng 6 năm 2017 lúc 12:03Jun 19, 2017 at 12:03

Xin chào, tôi đã sử dụng giải pháp này hoạt động hoàn hảo. Không cần kiểm tra, chỉ cần sử dụng HTTPS.


Hướng dẫn get http or https in javascript - lấy http hoặc https trong javascript

cs95

349K87 Huy hiệu vàng641 Huy hiệu bạc689 Huy hiệu Đồng87 gold badges641 silver badges689 bronze badges

Đã trả lời ngày 6 tháng 8 năm 2016 lúc 12:35Aug 6, 2016 at 12:35

1

Làm thế nào để tôi biết http hoặc https?

Nếu URL có http: // lúc đầu, bạn đang truy cập nó qua http.Tương tự như vậy đối với https: //.. Likewise for https:// .

HTTPS trong JavaScript là gì?

HTTPS (an toàn giao thức chuyển siêu văn bản) là phiên bản được mã hóa của giao thức HTTP.Nó sử dụng SSL hoặc TLS để mã hóa tất cả các giao tiếp giữa máy khách và máy chủ.an encrypted version of the HTTP protocol. It uses SSL or TLS to encrypt all communication between a client and a server.

Làm cách nào để chuyển hướng HTTP sang HTTPS?

Chuyển hướng HTTP sang HTTPS..
Chuyển hướng tất cả lưu lượng truy cập web.Nếu bạn có mã hiện tại trong .htaccess của mình, hãy thêm các mục sau: viết lại trên RewriteCond %{server_port} 80 viết lại ^(.*) $ Https://www.yourdomain.com/$1 [r, l].
Chuyển hướng chỉ một miền cụ thể.....
Chỉ chuyển hướng một thư mục cụ thể ..

Giao thức JavaScript là gì?

Giao thức có thể lặp lại cho phép các đối tượng JavaScript xác định hoặc tùy chỉnh hành vi lặp của chúng, chẳng hạn như những giá trị nào được lặp lại trong một ... cấu trúc.Một số loại tích hợp được tích hợp các vòng lặp với hành vi lặp mặc định, chẳng hạn như mảng hoặc bản đồ, trong khi các loại khác (chẳng hạn như đối tượng) thì không.allows JavaScript objects to define or customize their iteration behavior, such as what values are looped over in a for...of construct. Some built-in types are built-in iterables with a default iteration behavior, such as Array or Map , while other types (such as Object ) are not.