📜  Express.js req.protocol 属性(1)

📅  最后修改于: 2023-12-03 15:30:41.470000             🧑  作者: Mango

Express.js req.protocol Property

The req.protocol property in Express.js is used to determine the protocol used by the request. It returns either 'http' or 'https' depending on the protocol used for the request.

Syntax
req.protocol
Usage

The req.protocol property can be used in middleware functions or route handlers to determine the current protocol used by the request. The property returns 'http' if the request was made using HTTP and 'https' if the request was made using HTTPS.

app.get('/', function(req, res) {
    if (req.protocol === 'https') {
        res.send('Secure connection');
    } else {
        res.send('Insecure connection');
    }
});

In the above example, if the request was made using HTTPS protocol, the response will be 'Secure connection' and if the request was made using HTTP protocol, the response will be 'Insecure connection'.

Example

Here's an example demonstrating the usage of req.protocol property in an Express.js application:

const express = require('express');
const app = express();
const port = 3000;

app.get('/', function(req, res) {
    let message = '';
    if (req.protocol === 'https') {
        message = 'Secure connection';
    } else {
        message = 'Insecure connection';
    }
    res.send(`<h1>${message}</h1>`);
});

app.listen(port, function() {
    console.log(`Server started at http://localhost:${port}`);
});

In the above example, we've created a simple application that responds with a message based on whether the connection is secure or insecure. When the server is started and the application is accessed via a web browser, it will display the appropriate message based on the protocol used.

Conclusion

The req.protocol property is a useful tool for developers working with Express.js applications. It is used to determine the current protocol used by the request, whether it is HTTP or HTTPS. By using the property, developers can ensure that their application is secure and responding appropriately to the type of connection being used.