SQL Difference Optimistic Reading and Optimistic Writing
Or probably more so, can someone define these 4?


No.  Those are not terms with precise definitions.  "Optimistic Concurrency" means to make some change even though you might not be able to save or commit the change later.  And "Pessimistic Concurrency" means to acquire locks before you make the change to ensure you will be able to save/commit it.

In SQL Server no isolation level uses exclusive locking when reading data (though you can force it with a lock hint).

Both RCSI and SNAPSHOT use Pessimistic Concurrency.  You will always acquire the X locks needed to change and commit a row before actually making the change.

Client-Side libraries often use Optimistic Concurrency, reading data, changing it in memory, and then, on save, checking if those changes would conflict with another sessions changes.  If the changes are found to conflict, an error is thrown.  See eg Optimistic Concurrency

In the SQL Server Database Engine the only Optimistic Concurrency is the model introduced by Memory-Optimized Tables, which don't require locks to write data, and instead use a first-writer-wins Optimistic Concurrency model, described here.