John Squirrels
స్థాయి
San Francisco

భాగం 3. HTTP/HTTPS

సమూహంలో ప్రచురించబడింది
ఈ మెటీరియల్ "ఇంట్రడక్షన్ టు ఎంటర్‌ప్రైజ్ డెవలప్‌మెంట్" సిరీస్‌లో భాగం. మునుపటి కథనాలు: పార్ట్ 3. HTTP/HTTPS - 1హాయ్! ఈ రోజు మనం HTTP మరియు HTTPS ప్రోటోకాల్‌ల గురించి తెలుసుకుందాం. అయితే ముందుగా, ఒక అంశాన్ని స్పష్టం చేద్దాం: మేము OSI మోడల్ యొక్క అప్లికేషన్ స్థాయిలో నెట్‌వర్క్ ద్వారా డేటాను పంపడానికి ప్రోటోకాల్‌ల గురించి మాట్లాడుతున్నాము. మేము మునుపటి కథనాలలో ఒకదానిలో OSI మోడల్ గురించి తెలుసుకున్నామని మీరు గుర్తుంచుకోవచ్చు. మీకు అది గుర్తులేకపోతే, ఇదిగోండి .

డేటా కమ్యూనికేషన్ ప్రోటోకాల్ అంటే ఏమిటి?

దీన్నే మేము అంగీకరించిన నియమాల సెట్ అని పిలుస్తాము, ఇది వివిధ సేవల డెవలపర్‌లను ఇతరులు అర్థం చేసుకోగలిగే ఫార్మాట్‌లో సమాచారాన్ని పంపడానికి అనుమతిస్తుంది. ఉదాహరణకు, మీరు Facebook మరియు Twitter రెండింటి నుండి సమాచారాన్ని పొందడానికి Google Chromeని ఉపయోగించవచ్చు, ఎందుకంటే డెవలపర్‌లు దీన్ని ప్రాసెస్ చేయడానికి మీ బ్రౌజర్‌ని అనుమతించే ప్రామాణిక HTTP ప్రోటోకాల్‌ని ఉపయోగించి పంపుతారు. సర్వర్ భాగాన్ని అభివృద్ధి చేసే వ్యక్తులకు ఏకరీతి నియమాలు చాలా సౌకర్యవంతంగా ఉంటాయి: మీ కోసం సమాచారాన్ని మార్చగల మరియు తగిన ప్రోటోకాల్‌ను ఉపయోగించి పంపగల లైబ్రరీలు చాలా ఉన్నాయి. HTTP మొదట్లో HTML పేజీలను పంపడానికి ప్రోటోకాల్‌గా భావించబడింది. ఇది చాలా కాలం పాటు ఉపయోగించబడిన మార్గం, కానీ ఇప్పుడు ప్రోగ్రామర్లు స్ట్రింగ్స్ మరియు మీడియా ఫైల్‌లను పంపడానికి తరచుగా దీనిని ఉపయోగిస్తున్నారు. సాధారణంగా, ఈ ప్రోటోకాల్ విశ్వవ్యాప్తంగా ఆమోదించబడింది మరియు బహుముఖమైనది మరియు ఇది ఉపయోగించడానికి చాలా సులభం. మరియు ఇప్పుడు మేము దానిని ఎలా ఉపయోగించాలో పరిశీలిస్తాము.

HTTP యొక్క నిర్మాణం

HTTP ప్రోటోకాల్ కేవలం వచనాన్ని మాత్రమే కలిగి ఉంటుందని మనం వెంటనే గమనించాలి. ఈ టెక్స్ట్ యొక్క నిర్మాణం మనకు చాలా ఆసక్తిని కలిగిస్తుంది. ప్రతి సందేశం మూడు భాగాలను కలిగి ఉంటుంది:
  1. ప్రారంభ పంక్తి - ఇది కొన్ని గృహనిర్వాహక డేటాను నిర్వచిస్తుంది.
  2. శీర్షికలు - ఇవి సందేశ పారామితులను వివరిస్తాయి.
  3. శరీరం - ఇది సందేశం యొక్క కంటెంట్. శరీరాన్ని తప్పనిసరిగా హెడర్‌ల నుండి ఖాళీ లైన్ ద్వారా వేరు చేయాలి.
HTTP ప్రోటోకాల్ సర్వర్‌కు అభ్యర్థనలను పంపడానికి మరియు సర్వర్ నుండి ప్రతిస్పందనలను స్వీకరించడానికి ఉపయోగించబడుతుంది. అభ్యర్థనలు మరియు ప్రతిస్పందనల పారామితులు కొద్దిగా భిన్నంగా ఉంటాయి.

సాధారణ HTTP అభ్యర్థన ఎలా ఉంటుందో ఇక్కడ ఉంది:

GET / HTTP/1.1
Host: codegym.cc
User-Agent: firefox/5.0 (Linux; Debian 5.0.8; en-US; rv:1.8.1.7)
ప్రారంభ పంక్తి సూచిస్తుంది:
  • GET - అభ్యర్థన యొక్క పద్ధతి
  • / - అభ్యర్థన యొక్క మార్గం
  • HTTP/1.1 — ప్రోటోకాల్ వెర్షన్
ఆపై శీర్షికలు వస్తాయి:
  • హోస్ట్ - అభ్యర్థన ప్రసంగించబడిన హోస్ట్
  • వినియోగదారు ఏజెంట్ - అభ్యర్థనను పంపే క్లయింట్
సందేశ భాగం లేదు. HTTP అభ్యర్థనలో, ప్రారంభ పంక్తి మరియు "హోస్ట్" హెడర్ మాత్రమే అవసరం. ఇప్పుడు అన్నింటినీ ఒక్కొక్కటిగా చూద్దాం. HTTP అభ్యర్థన తప్పనిసరిగా కొన్ని పద్ధతిని కలిగి ఉండాలి. వాటిలో తొమ్మిది ఉన్నాయి: GET, POST, PUT, OPTIONS, HEAD, PATCH, DELETE, TRACE, CONNECT. అత్యంత సాధారణమైనవి GET మరియు POST. ఈ రెండు పద్ధతులు మొదట సరిపోతాయి. GET - ఈ పద్ధతి సర్వర్ నుండి కంటెంట్‌ను అభ్యర్థిస్తుంది. దీని ప్రకారం, GET పద్ధతితో కూడిన అభ్యర్థనలకు మెసేజ్ బాడీ ఉండదు. కానీ మీకు అవసరమైతే, మీరు క్రింది ఆకృతిలో మార్గం (ప్రారంభ పంక్తిలో) ద్వారా పారామితులను పాస్ చేయవచ్చు:
https://cdn.codegym.cc/images/article/155cea79-acfd-4968-9361-ad585e939b82/original.pngsend?name1=value1&name2=value2
codegym.cc ఎక్కడ హోస్ట్, /send అభ్యర్థన యొక్క మార్గం మరియు ? ప్రశ్న పారామితులు అనుసరిస్తాయని సూచించే సెపరేటర్. ముగింపులో, కీ-విలువ జతలు ("కీ=విలువ") జాబితా చేయబడ్డాయి, అవి యాంపర్‌సండ్‌తో వేరు చేయబడతాయి. పోస్ట్ - ఈ పద్ధతి సర్వర్‌లో సమాచారాన్ని ప్రచురిస్తుంది. POST అభ్యర్థన వివిధ రకాల సమాచారాన్ని పంపగలదు: పారామీటర్‌లు "కీ=విలువ" జతలుగా, JSON, HTML కోడ్ లేదా ఫైల్‌లు కూడా. మొత్తం సమాచారం సందేశం యొక్క బాడీలో పంపబడుతుంది. ఉదాహరణకి:
POST /user/create/json HTTP/1.1
Accept: application/json
Content-Type: application/json
Content-Length: 28
Host: codegym.cc

{
  "Id": 12345,
  "User": "John"
}
అభ్యర్థన codegym.cc/user/create/jsonకి పంపబడింది మరియు ప్రోటోకాల్ వెర్షన్ HTTP/1.1. "అంగీకరించు" అనేది క్లయింట్ స్వీకరించాలని ఆశించే ప్రతిస్పందన ఆకృతిని సూచిస్తుంది. "కంటెంట్-టైప్" అనేది అభ్యర్థనలో పంపిన మెసేజ్ బాడీ ఆకృతిని సూచిస్తుంది. "కంటెంట్-లెంగ్త్" అనేది శరీరంలోని అక్షరాల సంఖ్య. HTTP అభ్యర్థన చాలా విభిన్న శీర్షికలను కలిగి ఉండవచ్చు. మరింత సమాచారం కోసం, ప్రోటోకాల్ స్పెసిఫికేషన్‌ను పరిశీలించండి .

HTTP ప్రతిస్పందనలు

అభ్యర్థనను స్వీకరించిన తర్వాత, సర్వర్ దానిని ప్రాసెస్ చేస్తుంది మరియు క్లయింట్‌కు ప్రతిస్పందనను పంపుతుంది:
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 98

<html>
  <head>
    <title>An Example Page</title>
  </head>
  <body>
    <p>Hello World</p>
  </body>
</html>
ప్రతిస్పందన యొక్క ప్రారంభ పంక్తిలో ప్రోటోకాల్ వెర్షన్ (HTTP/1.1), స్థితి కోడ్ (200) మరియు స్థితి వివరణ (సరే) ఉన్నాయి. దీని హెడర్‌లలో కంటెంట్ రకం మరియు పొడవు ఉంటాయి. ప్రతిస్పందన అంశం బ్రౌజర్ HTML పేజీగా అందించే HTML కోడ్‌ని కలిగి ఉంది.

ప్రతిస్పందన స్థితి కోడ్‌లు

మెసేజ్ బాడీ మరియు హెడర్‌లకు సంబంధించి ప్రతిదీ స్పష్టంగా ఉంది, అయితే స్టేటస్ కోడ్‌ల గురించి మనం కొన్ని మాటలు చెప్పాలి. ప్రతిస్పందన స్థితి కోడ్‌లు ఎల్లప్పుడూ మూడు అంకెలు. కోడ్ యొక్క మొదటి అంకె ప్రతిస్పందన వర్గాన్ని సూచిస్తుంది:
  • 1xx - సమాచార. అభ్యర్థన స్వీకరించబడింది. సర్వర్ కొనసాగడానికి సిద్ధంగా ఉంది.
  • 2xx - విజయవంతమైంది. అభ్యర్థన స్వీకరించబడింది, అర్థం చేసుకుంది మరియు ప్రాసెస్ చేయబడింది.
  • 3xx - దారి మళ్లింపు. అభ్యర్థనను ప్రాసెస్ చేయడానికి అదనపు చర్యలు తప్పనిసరిగా చేయాలి.
  • 4xx — క్లయింట్ లోపం. అభ్యర్థన లోపాలను కలిగి ఉంది లేదా ప్రోటోకాల్‌కు అనుగుణంగా లేదు.
  • 5xx - సర్వర్ లోపం. అభ్యర్థన సరిగ్గా కంపోజ్ చేయబడింది, కానీ సర్వర్ దానిని ప్రాసెస్ చేయలేకపోయింది.
కోడ్‌లోని రెండవ మరియు మూడవ అంకెలు మరింత నిర్దిష్ట ప్రతిస్పందనను సూచిస్తాయి. ఉదాహరణకి:
  • 200 సరే — అభ్యర్థన స్వీకరించబడింది మరియు విజయవంతంగా ప్రాసెస్ చేయబడింది.
  • 201 సృష్టించబడింది - అభ్యర్థన స్వీకరించబడింది మరియు విజయవంతంగా ప్రాసెస్ చేయబడింది, ఫలితంగా కొత్త వనరు లేదా ఉదాహరణ సృష్టించబడింది.
  • 301 శాశ్వతంగా తరలించబడింది - అభ్యర్థించిన వనరు శాశ్వతంగా తరలించబడింది. దానికి తదుపరి అభ్యర్థనలు కొత్త చిరునామాను ఉపయోగించి చేయాలి.
  • 307 తాత్కాలిక దారిమార్పు — వనరు తాత్కాలికంగా తరలించబడింది. ప్రస్తుతానికి, ఆటోమేటిక్ ఫార్వార్డింగ్ ఉపయోగించి దీన్ని యాక్సెస్ చేయవచ్చు.
  • 403 నిషేధించబడింది - అభ్యర్థన అర్థం చేసుకోబడింది, కానీ అధికారం అవసరం.
  • 404 కనుగొనబడలేదు - సర్వర్ ఈ చిరునామాలో వనరును కనుగొనలేదు.
  • 501 అమలు చేయబడలేదు - అభ్యర్థనకు ప్రతిస్పందించడానికి అవసరమైన కార్యాచరణకు సర్వర్ మద్దతు ఇవ్వదు.
  • 505 HTTP సంస్కరణకు మద్దతు లేదు - HTTP ప్రోటోకాల్ యొక్క పేర్కొన్న సంస్కరణకు సర్వర్ మద్దతు ఇవ్వదు.
ప్రతిస్పందన స్థితి కోడ్‌తో పాటు, స్థితి వివరణ కూడా పంపబడుతుంది. ప్రతి నిర్దిష్ట స్థితి అంటే ఏమిటో స్పష్టం చేయడంలో ఇది సహాయపడుతుంది. HTTP ప్రోటోకాల్ చాలా ఆచరణాత్మకమైనది: ఇది పెద్ద సంఖ్యలో హెడర్‌లను అందిస్తుంది, ఇది మీరు క్లయింట్ మరియు సర్వర్ మధ్య చాలా సౌకర్యవంతమైన కమ్యూనికేషన్‌ను ఏర్పాటు చేయడానికి ఉపయోగించవచ్చు. అన్ని అభ్యర్థన మరియు ప్రతిస్పందన శీర్షికలు, అభ్యర్థన పద్ధతులు మరియు ప్రతిస్పందన స్థితి కోడ్‌ల యొక్క పూర్తి పరిశీలన ఒకే కథనానికి చాలా ఎక్కువ. మీకు అవసరమైతే, మీరు ప్రోటోకాల్ యొక్క అధికారిక వివరణను చదవవచ్చు, ఇది అన్ని సూక్ష్మ నైపుణ్యాలను వివరిస్తుంది. పోర్ట్ 80లో HTTP ప్రోటోకాల్‌ను ఉపయోగించడం ఆచారం, కాబట్టి మీరు పోర్ట్ 80తో ముగిసే URLని చూసినప్పుడు, దాన్ని యాక్సెస్ చేయడానికి మీరు HTTPని ఉపయోగించాలని మీరు విశ్వసించవచ్చు. సాంకేతికత అభివృద్ధి చెందడంతో మరియు వ్యక్తిగత డేటాను ఇంటర్నెట్ ద్వారా పంపడం ప్రారంభించినప్పుడు, క్లయింట్ సర్వర్‌కు పంపే సమాచారానికి అదనపు రక్షణను ఎలా అందించాలనే దాని గురించి ఆలోచించడం అవసరం. ఈ ఆలోచన యొక్క ఫలితం HTTPS ప్రోటోకాల్.

HTTPS మరియు HTTP మధ్య వ్యత్యాసం

సింటాక్స్ పరంగా, HTTPS HTTP ప్రోటోకాల్‌తో సమానంగా ఉంటుంది. అంటే, ఇది అదే ప్రారంభ పంక్తులు మరియు శీర్షికలను ఉపయోగిస్తుంది. అదనపు ఎన్‌క్రిప్షన్ మరియు డిఫాల్ట్ పోర్ట్ (443) మాత్రమే తేడాలు . HTTPS HTTP మరియు TCP మధ్య గుప్తీకరించబడింది, అంటే అప్లికేషన్ మరియు రవాణా లేయర్‌ల మధ్య. మీరు దాని అర్థం ఏమిటో మర్చిపోయినట్లయితే, OSI మోడల్‌పై కథనాన్ని చూడండి . నేటి గుప్తీకరణ ప్రమాణం TLS. మేము ఈ అంశంలోకి పెద్దగా వెళ్లము, కానీ సమాచారం రవాణా లేయర్‌కు చేరుకోవడానికి ముందే ఎన్‌క్రిప్షన్ జరుగుతుందని గుర్తుంచుకోండి. HTTPSలో, అభ్యర్థన పంపబడిన హోస్ట్ మరియు పోర్ట్ మినహా అన్ని సమాచారం ఖచ్చితంగా గుప్తీకరించబడుతుంది. HTTPకి బదులుగా HTTPS ప్రోటోకాల్‌ని ఉపయోగించడానికి సర్వర్‌ని మార్చడం వలన సర్వర్ కోడ్‌ని మార్చడానికి ఉపయోగించాల్సిన అవసరం లేదు. ఈ ఫీచర్ సర్వ్లెట్ కంటైనర్‌లలో ప్రారంభించబడింది, దీనిని మేము తదుపరి కథనాలలో చర్చిస్తాము. మరియు ఈ రోజు అంతే. అసలైన, ఒక క్షణం వేచి ఉండండి. కొన్ని HTTP అభ్యర్థనలను పొందేందుకు, Google Chromeని తెరిచి, F12ని నొక్కి, "నెట్‌వర్క్" ట్యాబ్‌ను ఎంచుకోండి. మీ బ్రౌజర్ ద్వారా పంపబడిన/స్వీకరించబడిన అన్ని అభ్యర్థనలు మరియు ప్రతిస్పందనలు ఇక్కడ ప్రదర్శించబడతాయి. పార్ట్ 4. మావెన్ పార్ట్ 5. సర్వ్లెట్స్ మరియు జావా సర్వ్లెట్ API యొక్క ప్రాథమిక అంశాలు . సాధారణ వెబ్ అప్లికేషన్‌ను వ్రాయడం పార్ట్ 6. సర్వ్‌లెట్ కంటైనర్‌లు పార్ట్ 7. MVC (మోడల్-వ్యూ-కంట్రోలర్) నమూనాను పరిచయం చేస్తోంది
వ్యాఖ్యలు
  • జనాదరణ పొందినది
  • కొత్తది
  • పాతది
వ్యాఖ్యానించడానికి మీరు తప్పనిసరిగా సైన్ ఇన్ చేసి ఉండాలి
ఈ పేజీకి ఇంకా ఎలాంటి వ్యాఖ్యలు లేవు