HTTP ಪ್ರೋಟೋಕಾಲ್ ಅಂದರೆ ಏನು? ಇದು ಯಾಕೆ ಮುಖ್ಯ? ಇದು ಇಲ್ಲದಿದ್ದರೆ ಗ್ಲೋಬಲ್ ಇಂಟರ್ನೆಟ್ ಕೆಲ ಭಾಗಗಳು ಯಾಕೆ ವರ್ಕ್ ಆಗುವುದಿಲ್ಲ. ಇದರ ಹಿಂದಿನ ರೋಚಕ ಕಥೆ ಏನು?
ಯಾರು ಇದನ್ನು ಕಂಡುಹಿಡಿದರು ಈ ಎಲ್ಲ ಮಾಹಿತಿಯನ್ನು ಈ ಲೇಖನದಲ್ಲಿ ತಿಳಿದುಕೊಳ್ಳೋಣ.
HTTP ಅಂದರೆ Hypertext Transfer Protocol ಇದನ್ನು ಕಂಡುಹಿಡಿದವರು TIM Berners Lee ಇವರು ಕಂಪ್ಯೂಟರ್ ಸೈಂಟಿಸ್ಟ್. CERN ಎಂಬ Nuclear Research ಸಂಸ್ಥೆಯಲ್ಲಿ ಇವರು ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದರು.
ಅಲ್ಲಿ ಇವರಿಗೆ ಡಾಕ್ಯುಮೆಂಟ್ ಗಳನ್ನು ಶೇರ್ ಮಾಡಲು ಒಂದು ಸುಲಭವಾದ ಮಾರ್ಗಬೇಕಿತ್ತು.
ಇವರು ಇದ್ದ ಸಂಸ್ಥೆಯಲ್ಲಿ Nuclear research ಕೆಲಸಕ್ಕೆ ಬೇಕಾದ ಡಾಕ್ಯುಮೆಂಟ್ಸ್ ಗಳು ಹಲವಾರು ಕಂಪ್ಯೂಟರ್ಗಳಲ್ಲಿ ಸೇರಿಕೊಂಡಿದ್ದವು. ಡಾಕ್ಯುಮೆಂಟ್ ಗಳನ್ನು ಸರಿಯಾಗಿ ಓದಲು ಯಾವುದೇ ಒಂದು ಸುಲಭ ಮಾರ್ಗ ಸಂಸ್ಥೆಯ ಬಳಿ ಇದ್ದಿಲ್ಲ.
ಕೆಲಸಕ್ಕೆ ಬೇಕಾದ ರಿಸರ್ಚ್ ಪೇಪರ್ ಗಳನ್ನು ಸರಿಯಾಗಿ ಗ್ರಹಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿರಲಿಲ್ಲ.
ಆದ್ದರಿಂದ ಈ HTTP ಪ್ರೋಟೋಕಾಲನ್ನು ತಯಾರು ಮಾಡಿದರು.
ಯಾಕೆ ನಮಗೆ HTTP ಬೇಕು?
ನಮಗೆ ಯಾಕೆ ಬೇಕು? ಅನ್ನುವುದಕ್ಕಿಂತ TIM ಅವರಿಗೆ ಯಾಕೆ ಬೇಕಿತ್ತು ಅಂತ ನೋಡಿದರೆ ಆಗ ನಮಗೆ ಇದು ಸುಲಭವಾಗಿ ತಿಳಿಯುತ್ತದೆ.
ಅವರಿಗೆ ಬೇಕಾಗಿದ್ದು Hypertext ಅಂದರೆ ಎಲ್ಲಾ ಡಾಕ್ಯುಮೆಂಟ್ಗಳನ್ನು ಒಂದಕ್ಕೊಂದು ಲಿಂಕ್ ಮಾಡುವುದು ಆದ್ದರಿಂದ ಸುಲಭವಾಗಿ ಎಲ್ಲಾ ಡಾಕ್ಯೂಮೆಂಟ್ ಗಳನ್ನು ಲಿಂಕ್ ಮೂಲಕ ಕ್ಲಿಕ್ ಮಾಡಿಕೊಂಡು ಸಂಗ್ರಹಿಸಬಹುದು.
ಇದೇ ಇವರ ಮುಖ್ಯ ಗುರಿಯಾಗಿತ್ತು. ಇದನ್ನು ಅವರು ತಮ್ಮ ಸಂಸ್ಥೆಯಲ್ಲಿ ಬಳಸುವುದಕ್ಕೆ ಮಾತ್ರ ಸೃಷ್ಟಿ ಮಾಡಿದ್ದು, ಆದರೆ ಇದನ್ನು ಇವತ್ತು ಇಡೀ ಪ್ರಪಂಚವೇ ಬಳಸುತ್ತಿದೆ.
HTTP ಪ್ರೋಟೋಕಾಲ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ?
ಮೊದಲಿಗೆ HTTP ಅಂದರೆ ಪ್ರೋಟೋಕಾಲ್. ಪ್ರೋಟೋಕಾಲ್ ಅಂದರೆ ರೂಲ್. ಇಷ್ಟೇ ಸಿಂಪಲ್!
Web ಸರ್ವರ್ಗಳಲ್ಲಿರುವ ಡಾಕ್ಯುಮೆಂಟ್ಗಳನ್ನು (Files) ಯಾವ ರೀತಿ ಶೇರ್ ಮಾಡಬೇಕು ಎಂಬುದರ ಬಗ್ಗೆ ಇವರು ಒಂದು ಸಣ್ಣದಾದ ಪ್ರೋಟೋಕಾಲ್ rules ಬರೆದರು.
ಅದೇ ಈಗ HTTP protocol ಆಗಿದೆ.
ಪ್ರೋಟೋಕಾಲ್ ರೂಲ್ಸ್ ಯಾವ ರೀತಿ ಇತ್ತು ಅನ್ನುವುದನ್ನು ನೋಡುವುದಾದರೆ:
Rule 1 – Request Format
GET /index.html HTTP/1.0
Host: info.cern.ch
ಮೊದಲಿಗೆ ನೀವು ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ ಬಳಸಿಕೊಂಡು ನಿಮಗೆ ಯಾವ ಡಾಕ್ಯುಮೆಂಟ್ ಬೇಕು ಎಂದು ಟೈಪ್ ಮಾಡುತ್ತೀರಾ ಅಥವಾ ಲಿಂಕ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡುತ್ತೀರಾ ನಂತರ ಮೇಲೆ ನೀಡಿರುವ ಒಂದು ರಿಕ್ವೆಸ್ಟ್ ಫಾರ್ಮ್ಯಾಟ್ ಮೂಲಕ ಅದು ವೆಬ್ ಸರ್ವರ್ ಗೆ ಹೋಗುತ್ತದೆ.
Rule 2 – Response Format
HTTP/1.0 200 OK
Content-Type: text/html<html>…</html>
ನಂತರ ವೆಬ್ ಸರ್ವರ್ ಏನಿದೆ ಅದು ನಿಮ್ಮ ರಿಕ್ವೆಸ್ಟ್ ಅನ್ನು ಪ್ರೋಸೆಸ್ ಮಾಡುತ್ತದೆ.
ನೀವು ರಿಕ್ವೆಸ್ಟ್ ಮಾಡಿರುವ ಪೇಜ್ (/index.html) ಏನಿದೆ ಅದು ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ಗೆ ಸೆಂಡ್ ಮಾಡುತ್ತದೆ ಅದರ ರೆಸ್ಪಾನ್ಸ್ ಫಾರ್ಮೆಟ್ ಮೇಲೆ ನೀವು ಏನು ನೋಡುತ್ತಿದ್ದೀರಾ ಆ ರೀತಿ ಇರುತ್ತದೆ.
Rule 3 – Status Code
200 = OK, here’s your page
404 = Page not found
500 = Server crashed
ಇದು ಬಹಳ ಮುಖ್ಯ Status code ಮೂಲಕ ನಿಮಗೆ ಸರ್ವರ್ ಯಾವ ರೀತಿಯ ರೆಸ್ಪಾನ್ಸ್ ನೀಡಿದೆ ಎಂಬುದನ್ನು ನೀವು ತಿಳಿದುಕೊಳ್ಳಬಹುದು.
- ಸ್ಟೇಟಸ್ 200 ಬಂದರೆ ನಿಮಗೆ ನಿಮ್ಮ ರಿಕ್ವೆಸ್ಟ್ ಮಾಡಿರುವ ಪೇಜ್ ಬಂದಿದೆ ಎಂದರ್ಥ.
- Response 404 ಬಂದರೆ ನೀವು ರಿಕ್ವೆಸ್ಟ್ ಮಾಡಿರುವ ಪೇಜ್ ಸರ್ವರ್ ಅಲ್ಲಿ ಲಭ್ಯವಿಲ್ಲ ಎಂದರ್ಥ.
ಇದೇ ರೀತಿ ಹಲವಾರು ಕೋಡ್ ಗಳನ್ನು ಸಂದರ್ಭಕ್ಕೆ ತಕ್ಕಂತೆ ತಯಾರು ಮಾಡಿದ್ದಾರೆ.
ಇದೇ ನೋಡಿ TIM ಅವರು ತಯಾರು ಮಾಡಿದ HTTP ಪ್ರೋಟೋಕಾಲ್ ರೂಲ್ಸ್.
Website ಹೇಗೆ ನಿಮಗೆ HTTP ಪ್ರೋಟೋಕಾಲ್ ಬಳಸಿಕೊಂಡು ವೆಬ್ ಪೇಜ್ ನೀಡುತ್ತದೆ ಎಂಬುದನ್ನು ಡಿಟೇಲಾಗಿ ತಿಳಿದುಕೊಳ್ಳಬೇಕಂತಿದ್ದರೆ? ನೀವು ಈ ಲೇಖನವನ್ನು ಓದಬಹುದು.
HTTP ಪ್ರೋಟೋಕಾಲ್ Vs HTTPS
ಸಾಮಾನ್ಯವಾಗಿ ನೀವು ಈಗ ನೋಡಬಹುದು ನೀವು ಬಳಸುವ ವೆಬ್ಸೈಟ್ಗಳು HTTPS ಮೂಲಕ ಶುರುವಾಗುತ್ತದೆ. ಆದರೆ ಹತ್ತಾರು ವರ್ಷಗಳ ಹಿಂದೆ ವೆಬ್ಸೈಟ್ಗಳು HTTP ಬಳಸುತ್ತಿದ್ದವು.
ಇದು ಏಕೆ ಬದಲಾಯಿತು ಎಂಬ ಪ್ರಶ್ನೆ ನಿಮಗೆ ಬಂದರೆ ಇಲ್ಲಿದೆ ಉತ್ತರ:
ಇಂಟರ್ನೆಟ್ ಶುರುವಾದ ಕಾಲದಲ್ಲಿ ಜನರಿಗೆ ಡೇಟಗಳನ್ನು ಸರಿಯಾಗಿ ತಲುಪಿಸುವ ಉದ್ದೇಶ ಮಾತ್ರ ಕಂಪನಿಗಳ ಗುರಿಯಾಗಿತ್ತು. ಆದರೆ ಸೆಕ್ಯೂರಿಟಿಗಳ ಮೇಲೆ ಅಷ್ಟೊಂದು ಪ್ರಾಮುಖ್ಯತೆ ಕೊಡುತ್ತಿದ್ದಿಲ್ಲ.
1. HTTP:
ಇದರ ಮೂಲಕ ಒಂದು ಕಂಪ್ಯೂಟರ್ ನಿಂದ ಮತ್ತೊಂದು ಕಂಪ್ಯೂಟರಿಗೆ ಡೇಟಾ ಕಳುಹಿಸುವಾಗ ಆ ಡೇಟಾ ಯಾವುದೇ ರೀತಿಯ ಎನ್ಕ್ರಿಪ್ಟ್ (encrypt) ಆಗುವುದಿಲ್ಲ.
ಹೇಗೆ ಕಳುಹಿಸುತ್ತೀರಾ ಅದೇ ರೀತಿ ಮತ್ತೊಂದು ಕಂಪ್ಯೂಟರ್ ಗೆ ಹೋಗುತ್ತದೆ.
ಇದರಲ್ಲಿ ನಿಮಗೆ ಒಂದು ಪ್ರಶ್ನೆ ಬರಬಹುದು ಡೇಟಾ ಹಾಗೆ ಹೋದರೆ ಇದರಲ್ಲಿ ಏನು ತಪ್ಪಿದೆ ಎಂದು?
ಚಲಿಸುತ್ತಿರುವ ಡೇಟಾಗಳನ್ನು ಇಂಟರ್ಸೆಪ್ಟ್ ಮಾಡಿದರೆ. ನೀವು ಯಾವ ಕಂಪ್ಯೂಟರಿಗೆ ಏನು ಡೇಟಾ ಕಳುಹಿಸುತ್ತಿದ್ದೀರಾ ಎಂಬುದನ್ನು ಸುಲಭವಾಗಿ ನೋಡಬಹುದು.
ಒಂದು ವೇಳೆ ನೀವೇನಾದರೂ ಪಾಸ್ವರ್ಡ್ ಅಥವಾ ಬ್ಯಾಂಕ್ ಲಾಗಿನ್ ಡೀಟೇಲ್ ಕಳುಹಿಸುತ್ತಿದ್ದರೆ ಇದನ್ನೆಲ್ಲಾ ಸುಲಭವಾಗಿ ಇಂಟರ್ಸೆಪ್ಟ್ ಮಾಡಿ ನೋಡಬಹುದು.
ಇದೇ ಕಾರಣದಿಂದ HTTP ಬಳಸುವುದನ್ನು ನಿಲ್ಲಿಸಿದ್ದಾರೆ.
2. HTTPS:
HTTPS ಅಂದರೆ Hypertext Transfer Protocol Secure
ನಾವು ಬಳಸುವ ಈ ಪ್ರೋಟೋಕಾಲ್ ಮೇಲೆ S ಅನ್ನುವ ಒಂದು ಲೇಯರ್ ಅಳವಡಿಸಿದರೆ.
S ಅಂದರೆ Secure ಅದರ ಪೂರ್ತಿ ಹೆಸರು (SSL) Secure Socket Layer.
ನಾವು ಕಳಸುವ ಡೇಟಾ ಏನಿದೆ ಅದು ಮತ್ತೊಂದು ಕಂಪ್ಯೂಟರಿಗೆ ಹೋಗುವಾಗ ಅದು Encrypt ಆಗಿ ಹೋಗುತ್ತದೆ. ಅದೇ SSL layer ವಿಶೇಷತೆ.
ಉದಾಹರಣೆಗೆ:
| Data type | What you type | HTTP on the wire | HTTPS on the wire | Who can read it? |
|---|---|---|---|---|
| Password | MySecret123 | MySecret123 Plain text |
U2FsdGVkX19v8nZq… Encrypted |
HTTP: Anyone on your networkHTTPS: Only you and the server |
| Credit card | 4111 2222 3333 4444 | 4111 2222 3333 4444 Plain text |
k8&iloLmD98D13zZsd… Encrypted |
HTTP: Anyone on your networkHTTPS: Only you and the server |
HTTP ಪ್ರೋಟೋಕಾಲ್ Status Codes
100 ರಿಂದ ಪ್ರಾರಂಭವಾದರೆ ಅದನ್ನು Informational ಎನ್ನುತ್ತಾರೆ
- 100 Continue
- 101 Switching Protocols
- 102 Processing
- 103 Early Hints
200 ರಿಂದ ಪ್ರಾರಂಭವಾದರೆ ಅದನ್ನು Success ಎನ್ನುತ್ತಾರೆ
- 200 OK
- 201 Created
- 202 Accepted
- 203 Non-Authoritative Information
- 204 No Content
- 205 Reset Content
- 206 Partial Content
- 207 Multi-Status
- 208 Already Reported
- 226 IM Used
300 ರಿಂದ ಪ್ರಾರಂಭವಾದರೆ ಅದನ್ನು Redirection ಎನ್ನುತ್ತಾರೆ
- 300 Multiple Choices
- 301 Moved Permanently
- 302 Found
- 303 See Other
- 304 Not Modified
- 305 Use Proxy
- 307 Temporary Redirect
- 308 Permanent Redirect
400 ರಿಂದ ಪ್ರಾರಂಭವಾದರೆ ಅದನ್ನು Client Errors ಎನ್ನುತ್ತಾರೆ
- 400 Bad Request
- 401 Unauthorized
- 402 Payment Required
- 403 Forbidden
- 404 Not Found
- 405 Method Not Allowed
- 406 Not Acceptable
- 407 Proxy Authentication Required
- 408 Request Timeout
- 409 Conflict
- 410 Gone
- 411 Length Required
- 412 Precondition Failed
- 413 Content Too Large
- 414 URI Too Long
- 415 Unsupported Media Type
- 416 Range Not Satisfiable
- 417 Expectation Failed
- 418 I’m a Teapot
- 421 Misdirected Request
- 422 Unprocessable Content
- 423 Locked
- 424 Failed Dependency
- 425 Too Early
- 426 Upgrade Required
- 428 Precondition Required
- 429 Too Many Requests
- 431 Request Header Fields Too Large
- 451 Unavailable For Legal Reasons
500 ರಿಂದ ಪ್ರಾರಂಭವಾದರೆ ಅದನ್ನು Server Errors ಎನ್ನುತ್ತಾರೆ
- 500 Internal Server Error
- 501 Not Implemented
- 502 Bad Gateway
- 503 Service Unavailable
- 504 Gateway Timeout
- 505 HTTP Version Not Supported
- 506 Variant Also Negotiates
- 507 Insufficient Storage
- 508 Loop Detected
- 510 Not Extended
- 511 Network Authentication Required
FAQ
ಪ್ರಪಂಚದ ಮೊದಲ ವೆಬ್ಸೈಟ್ ಯಾವುದು ಗೊತ್ತಾ?
Tim ಅವರು ಕ್ರಿಯೇಟ್ ಮಾಡಿದ info.cern.ch ಇದೆ ನೋಡಿ ಪ್ರಪಂಚದ ಮೊದಲನೆಯ ವೆಬ್ಸೈಟ್. ಈ ವೆಬ್ ಸೈಟನ್ನು ನೀವು ಈಗ ಕೂಡ ವಿಸಿಟ್ ಮಾಡಬಹುದು ಇದು ಆಕ್ಟಿವ್ ಆಗಿದೆ.