How does Digest Authentication differ from Basic Authentication other than sending credentials as plain text?

The only difference, as far as I know, is that it doesn’t requires sending the username and password across the wire in plaintext.

The server gives the client a one-time use string (a nonce) that it combines with the username, realm, password and the URI request. The client runs all of those fields through an MD5 hashing method to produce a hash key.

It sends this hash key to the server along with the username and the realm to attempt to authenticate.

Server-side the same method is used to generate a hashkey, only instead of using the password typed in to the browser the server looks up the expected password for the user from its user DB. It looks up the stored password for this username, runs in through the same algorithm and compares it to what the client sent. If they match: access is granted, otherwise it can send back an 401 request to have the user retry or an access denied error (I forget the code sorry). – Original Link. Good answer.

Partition by clause in SQL

Mutual SSL authentication

Simple explanation of REST

A Bit About Basic REST


In REST, the basic idea is to expose the state of the system as a collection of individually addressable resources. You perform operations by manipulating these resources. A resource is an entity that has a state, as well as a name or id. Resources are stored in your backend—whether that is the Google Cloud Datastore, or something else.

As a general rule with REST, the client sees representations of the resources through requests made to the server. It can also update the resources by manipulating the representations, and sending the updated representations to the server via subsequent requests. Resources may be represented in a variety of ways: XML, JSON, CSV, or more. At this time, Cloud Endpoints only supports JSON, which tends to be less verbose and less vulnerable to human error than XML is.

You may have heard of CRUD (Create, Retrieve, Update, Delete), or variants of it. This is at the root of REST. When you use the Google Plugin for Eclipse to generate an Endpoint class, these types of basic methods are generated in the Endpoint class for you.

You are certainly not limited to those basic actions. Adding custom methods gives you much more flexibility, allowing you to perform complex operations. For example, checkForVictory might perform several queries, plus a write, to a database.

SQL Interview questions

Hibernate Interview Questions

SQL Interview Questions


GitHub for Dummies

Excellent book on git.

Here is a higher level document which contains a link to the above with the text “Pro Git book” in the left sidebar. This one has links to a reference manual and videos as well.

A successful GIT branching model

Delegates and Events – Delegates – Events – Delegates and Events (Oreilly book) – C# in Depth – Introduction to Delegates and Events.