1

Which one of these lines is correct?

After close browser, session must be expire.

and

After close browser, session must expire.

Actually, what's the difference between the usage of Must be and Must?

I also read this question.

[UPDATE]
I found a better sentence:

Session should be expired after closing the browser.

6
  • 3
    Once the browser is closed, the session must expire OR must be expired.
    – Maulik V
    Jul 3, 2018 at 6:32
  • @MaulikV must and must-be not differences at here? Jul 3, 2018 at 6:57
  • 1
    In this context, no! It's just another form of writing that.
    – Maulik V
    Jul 3, 2018 at 7:50
  • Your mended solution is also confusing Session should be expired (it is advisable to expire the session) after closing the browser. How does a person or machine "expire" a session after closing the browser. This does not make sense.
    – Mari-Lou A
    Jul 3, 2018 at 9:48
  • 1
    @Mari-LouA an example: Requirement 1 This requirement is easily implemented by setting SESSION_EXPIRE_AT_BROWSER_CLOSE to True. link Jul 3, 2018 at 10:15

1 Answer 1

1

The difference that you're looking for is the difference between active and passive voice.

session must expire - active voice
session must be expired - passive voice

As stated by Maulik V in the comments, the correct sentence is

Once the browser is closed, the session must be expired

Notice that we are using the passive voice in both parts of the sentence. We use that voice because subjects - browser, session - can not execute the action by themselves. If the browser closes abruptly, we are talking about a malfunction. Usually, you close the browser by clicking in the 'x' button.

The same occurs with the session. The session is the set of data collected from an user, it's only data, it can not expire itself. Someone has to erase it when a timeout is reached or the browser is closed. That someone is usually a part of the program that serves the web pages.

But you can use both forms in this context

session must expire
session must be expired

The first one is used if you are not part of the develoment team that must implement the session expiring mechanism, if you don't care how the session is erased or if you don't know that a session can not erase itself. The second sentence is used to emphasize that such mechanism must be implemented to fulfill the requirements.

4
  • As I previously mentioned to the OP in the identical question posted on EL&U, don't sessions automatically expire when a browser is closed? What does "session must be expired" mean? Does it mean the user must finish, close, end the session? The meaning of the sentence is unclear. Not your fault but it seems you understand what the OP is trying to communicate. Do you?
    – Mari-Lou A
    Jul 3, 2018 at 9:36
  • @Mari-LouA It seems that the question has been removed. Yes, I do. Can a draw erase itself? The same occurs with a session. A session is just data, it can not remove itself, someone (a program running in the server) has to remove it. That agent has to detect that the browser has been closed or that the session maximum lifetime has been reached and then remove the data (=expire the session)
    – RubioRic
    Jul 3, 2018 at 10:27
  • Ok that makes a lot of sense, so is "must" the most appropriate modal verb here? Is the suggested improvement a better alternative? Is "expire" the right verb to use here? Could we not say "Once the browser is closed, the session is/must be removed/deleted/terminated"?
    – Mari-Lou A
    Jul 3, 2018 at 10:35
  • @Mari-LouA I think that "must" is the correct modal verb if you are writing software requirements. From your point of view as user, the session expires automatically. From the point of view of a programmer, you have to remove or terminate the session, you are right. "Expire" is used in relation with an specific lifetime. Maybe the grammatically correct way of saying it is "session must be forced to expire" instead of "session must be expired"
    – RubioRic
    Jul 3, 2018 at 10:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .