Merge in refactored changes

- RESTful protocol
- Refactored HTTP protocol
- HTTPs
- Reduce redundant protocols
- Change code structure