ការពិពណ៌នាសង្ខេបនៃពិធីការ HTTP ។ កំហុស http ទូទៅបំផុតនិងរបៀបជួសជុលវា។

កំហុស "http" អាចកើតឡើង។ មនុស្សជាច្រើនចាប់ផ្តើមវិភាគរបស់ពួកគេ។ សកម្មភាពចុងក្រោយផលិតនៅក្នុងប្លក, រូបភាព ប៉ុន្តែមនុស្សភាគច្រើនគ្រាន់តែមិនដឹងថាមានអ្វីកើតឡើងនោះទេ ពីព្រោះគ្មានអ្វី "អាក្រក់" ហាក់ដូចជាត្រូវបានធ្វើនោះទេ។ ប្រសិនបើអ្នកក្រឡេកមើលចម្លើយនៅលើអ៊ីនធឺណិតចំពោះសំណួរ "ហេតុអ្វីបានជាវាផ្តល់កំហុស http នៅពេលផ្ទុករូបភាព" អ្នកអាចរកឃើញអនុសាសន៍ជាច្រើនដែលអាចលុបបំបាត់កំហុសនេះ។

ការណែនាំដើម្បីជួយដោះស្រាយកំហុសក្នុងការបង្ហោះរូបភាព "http"

អនុសាសន៍ដំបូងគឺត្រូវរកមើលបញ្ជីទាំងមូល កម្មវិធីជំនួយដែលបានដំឡើងនិងបិទរាល់អ្វីដែលមិនចាំបាច់។ អ្នកក៏នឹងត្រូវបិទកម្មវិធីជំនួយទាំងអស់ ហើយបើកពួកវាម្តងមួយៗ ហើយបន្ទាប់មកមើលឥទ្ធិពលនៃការងាររបស់ពួកគេនៅលើគេហទំព័ររបស់អ្នក។ ដូច្នេះ ការបង្ហោះរូបថតអាចដំណើរការបាន ប៉ុន្តែវានៅឆ្ងាយពីភាពជាក់លាក់ដែលថាអ្នកនឹងអាចរកឃើញយ៉ាងពិតប្រាកដនូវកម្មវិធីជំនួយដែលកំពុងបោះចោលកំហុស។ ប្រសិនបើអ្នកមានពេលវេលា និងការអត់ធ្មត់ សូមសាកល្បងការណែនាំនេះ ប៉ុន្តែយើងបានរកឃើញថាវាពិបាកពេក ដូច្នេះយើងបានទុកជម្រើសនេះទុកជាទុនបម្រុង។

អនុសាសន៍ទីពីរចែងថាបញ្ហាទាំងមូលអាចស្ថិតនៅក្នុងម៉ាស៊ីនមេដែលគេហទំព័ររបស់អ្នកស្ថិតនៅ។ ប៉ុន្តែប្រសិនបើអ្នកមានគេហទំព័រផ្សេងទៀតដែលធ្វើការជាមួយ hoster នេះហើយអ្វីៗគឺល្អជាមួយពួកគេ។ នៅក្នុងលំដាប់ដ៏ល្អឥតខ្ចោះដែលមានន័យថា កំហុសស្ថិតនៅកន្លែងណាមួយនៅក្នុងគេហទំព័រខ្លួនឯង។ ប្រសិនបើមានគេហទំព័រតែមួយ សូមទាក់ទងម្ចាស់ផ្ទះ ក្នុងករណីដែលបញ្ហាពិតជានៅទីនោះ។

នៅទីនេះ យើងក៏កត់សម្គាល់ផងដែរថា វាមិនតែងតែសមហេតុផលក្នុងការអាប់ដេតទៅកំណែដែលទើបនឹងចេញផ្សាយនោះទេ។

តាមក្បួនវាមានការបង្កើតថ្មី/អាប់ដេតមានប្រយោជន៍ជាច្រើន ប៉ុន្តែមិនមែនអ្នកបង្កើតកម្មវិធីជំនួយទាំងអស់មានពេលវេលាដើម្បីធ្វើការកែតម្រូវលើផលិតផលរបស់ពួកគេនោះទេ។ នោះ​គឺ​ប្រសិន​បើ​អ្វី​គ្រប់​យ៉ាង​គឺ​ល្អ​ជាមួយ​អ្នក​នៅ​ពេល​នេះ នោះ​គ្មាន​ចំណុច​អ្វី​ក្នុង​ការ​ប្រញាប់​ប្រញាល់​ធ្វើ​បច្ចុប្បន្នភាព​ម៉ាស៊ីន​នោះ​ទេ។

គន្លឹះទីបួនគឺត្រូវបន្ថែមកូដខាងក្រោមទៅឯកសារ .htaccess៖

SecFilterEngine បិទ
SecFilterScanPOST បិទ

កូដខាងលើត្រូវតែដាក់នៅចុងបញ្ចប់ ឬដើមនៃឯកសារ បន្ទាប់ពីនោះអ្វីៗអាចចាប់ផ្តើមដំណើរការបាន។
គន្លឹះបន្ទាប់គឺបញ្ចូលកូដទៅក្នុងឯកសារ .htaccess ដោយប្រើកម្មវិធីផ្ទុកឡើង FTP៖



SecFilterEngine បិទ
SecFilterScanPOST បិទ

ចំណាំថាប្រសិនបើអ្នកមានកូដបែបនេះនៅក្នុងឯកសាររួចហើយនោះ អ្នកនឹងត្រូវសរសេរវាឡើងវិញ ពោលគឺជំនួសវាដោយលេខកូដថ្មី។ សាកល្បងទាញយកឯកសារមេឌៀឥឡូវនេះ។ លើសពីនេះ អ្នកអាចផ្ទុកឯកសារក្នុងបរិមាណគ្មានដែនកំណត់។ យើងបានកត់សម្គាល់ម្តងហើយម្តងទៀតថាក្នុងករណីមួយប្រសិនបើអ្នកបិទភ្ជាប់កូដនៅដើមឯកសារនោះអ្វីៗនឹងដំណើរការ។ នៅពេលបិទភ្ជាប់កូដនៅលើគេហទំព័រផ្សេងទៀតនៅដើមឯកសារនោះ គ្មានអ្វីដំណើរការទេ ប៉ុន្តែអ្វីៗចាប់ផ្តើមដំណើរការភ្លាមៗ នៅពេលដែលលេខកូដត្រូវបានផ្លាស់ទីទៅចុងបញ្ចប់នៃឯកសារ។

វាគួរអោយចងចាំថាបន្ទាប់ពីធ្វើបច្ចុប្បន្នភាព WordPress ឯកសារនេះអាចសរសេរជាន់លើបានយ៉ាងងាយស្រួលហើយកំហុសអាចកើតឡើងម្តងទៀត។ ដើម្បីការពារកុំឱ្យវាកើតឡើង យើងសូមណែនាំឱ្យរក្សាទុកឯកសារបម្រុងទុកទៅកុំព្យូទ័ររបស់អ្នក ហើយប្រសិនបើមានអ្វីកើតឡើង សូមផ្ទុកវាឡើងទៅកាន់ម៉ាស៊ីនមេតាមរយៈ FTP ។

អនុសាសន៍មួយទៀតគឺត្រូវដំឡើងកម្មវិធីជំនួយ WPupload ដែលជំនួសកម្មវិធីអាប់ឡូត WordPress លំនាំដើមជាមួយនឹងកម្មវិធីថ្មីមួយ (វាគាំទ្រ HTML5, Flash, BrowserPlus ។ល។)។ ទោះយ៉ាងណាក៏ដោយ កម្មវិធីជំនួយថ្មី។អាចបន្ថែមបញ្ហាថ្មីទៅកាន់គេហទំព័រ ប៉ុន្តែក្នុងករណីណាក៏ដោយ វានឹងលុបបំបាត់កំហុសនេះនៅពេលផ្ទុករូបភាព "http" ។

ពីការទាំងអស់ខាងលើ ការសន្និដ្ឋានសាមញ្ញដូចខាងក្រោម: ប្រសិនបើអ្នកចង់ឱ្យគេហទំព័ររបស់អ្នកដំណើរការប្រកបដោយស្ថេរភាព កុំប្រញាប់ប្រញាល់ជាមួយ . កំណែថ្មី។ទោះបីជាវាសន្យាថានឹងមានមុខងារ និងសុវត្ថិភាពជាងមុនក៏ដោយ អ្នកអភិវឌ្ឍន៍ភាគីទីបីពួកគេមិនតែងតែមានពេលវេលាដើម្បីបង្កើនប្រសិទ្ធភាពផលិតផលរបស់ពួកគេសម្រាប់កំណែថ្មីទេ (នេះជាមូលហេតុដែលកំហុស "http" អាចលេចឡើង) ។

ពេលខ្លះស្ថានភាពកើតឡើងនៅពេលដែលកម្មវិធីរុករកបណ្ដាញបង្ហាញកំហុសនៅពេលស្នើសុំគេហទំព័រ។ កំហុសបែបនេះមាន កូដឌីជីថលនិងការពិពណ៌នាជាក់លាក់។

(101-199) ចម្លើយព័ត៌មាន

ការឆ្លើយតបបែបនេះបង្ហាញថាសំណើពីអតិថិជនជាក់លាក់មួយត្រូវបានទទួលយក ហើយកំពុងដំណើរការដោយផ្ទាល់។

  • 100 - បន្ត - ផ្នែកដំបូងនៃសំណើត្រូវបានទទួលយក អតិថិជនអាចបន្តបញ្ជូនវាបាន។
  • 101 - Switching Protocols - សេវាកម្មបំពេញតម្រូវការអតិថិជនជាក់លាក់ ហើយក៏ប្តូរពិធីការផងដែរ ដែលត្រូវនឹងទិន្នន័យក្នុងប្រអប់ Upgrade header។

(200-299) សំណើជោគជ័យអតិថិជន

នៅក្នុងជួរនេះ សំណើរបស់អតិថិជនទាំងអស់ត្រូវបានបញ្ចប់ដោយជោគជ័យ។

  • 200 - យល់ព្រម - ដំណើរការដោយជោគជ័យនៃសំណើរបស់អតិថិជន ហើយការឆ្លើយតបរបស់ម៉ាស៊ីនមេផ្ទុកទិន្នន័យដែលបានស្នើសុំទាំងអស់។
  • 201 - បានបង្កើត - កូដស្ថានភាពនេះអាចត្រូវបានប្រើនៅពេលផ្លាស់ប្តូរ URL ។ បន្ថែមពីលើកូដនោះ ម៉ាស៊ីនមេក៏ចេញបឋមកថាទីតាំងផងដែរ ដែលមានព័ត៌មានទាំងអស់អំពីទីតាំងនៃការផ្លាស់ប្តូរទិន្នន័យថ្មីទាំងអស់។
  • 202 - ទទួលយក - សំណើត្រូវបានទទួលយក ប៉ុន្តែវាមិនដំណើរការភ្លាមៗទេ។ ខ្លឹមសារនៃការឆ្លើយតបក៏អាចមានព័ត៌មានជាក់លាក់អំពីប្រតិបត្តិការផងដែរ។ មិនមានការធានាថាសំណើនឹងត្រូវបានផ្តល់ឱ្យទេ ទោះបីជាវាមានសុពលភាពនៅពេលចូលរៀនក៏ដោយ។
  • 203 - ព័ត៌មានដែលមិនមានការអនុញ្ញាត - បឋមកថាមាតិកាមានព័ត៌មានដែលទទួលបានពីច្បាប់ចម្លងក្នុងស្រុកឬពីភាគីទីបី។
  • 204 - គ្មានខ្លឹមសារ - ការឆ្លើយតបមានតែបឋមកថា និងលេខកូដស្ថានភាពប៉ុណ្ណោះ តួការឆ្លើយតបមិនត្រូវបានផ្តល់ឱ្យទេ។ នៅពេលដែលការឆ្លើយតបបែបនេះត្រូវបានទទួល ឯកសារកម្មវិធីរុករកតាមអ៊ីនធឺណិតមិនគួរត្រូវបានផ្ទុកឡើងវិញទេ។ លេខកូដអាចត្រលប់មកវិញបន្ទាប់ពីអ្នកប្រើប្រាស់ចុចលើផ្ទៃទទេនៃរូបភាព។
  • 205 - កំណត់មាតិកាឡើងវិញ - ទម្រង់ដែលត្រូវបានប្រើសម្រាប់ទិន្នន័យបញ្ចូលបន្ថែមត្រូវបានសម្អាតដោយកម្មវិធីរុករក។
  • 206 - មាតិកាដោយផ្នែក - ម៉ាស៊ីនមេត្រឡប់តែផ្នែកខ្លះនៃទិន្នន័យប៉ុណ្ណោះ។ ប្រើក្នុងការឆ្លើយតបសំណើនៅពេលបញ្ជាក់បឋមកថាជួរ។ ម៉ាស៊ីនមេត្រូវតែចង្អុលបង្ហាញនៅក្នុងបឋមកថាមាតិកាជួរ ជួរជាក់លាក់ដែលត្រូវបានរួមបញ្ចូលនៅក្នុងការឆ្លើយតប។

(300-399) ការបញ្ជូនបន្ត

លេខកូដឆ្លើយតបនៅក្នុងជួរនេះមានន័យថាអតិថិជនត្រូវតែអនុវត្តសកម្មភាពជាក់លាក់ដើម្បីបំពេញសំណើ។

  • 300 - ជម្រើសច្រើន (ជម្រើសជាច្រើនដែលត្រូវជ្រើសរើស) - URL ដែលបានស្នើសុំអាចរួមបញ្ចូលធនធានជាច្រើន។ មាតិកាដែលបញ្ជូនមកវិញដោយម៉ាស៊ីនមេត្រូវតែមានព័ត៌មានជាក់លាក់អំពី ធ្វើឱ្យជម្រើសត្រឹមត្រូវ។ធនធាន។
  • 301 - បានផ្លាស់ទីជាអចិន្ត្រៃយ៍ (ធនធានបានផ្លាស់ទីទៅ នៅលើមូលដ្ឋានបន្ត) - ម៉ាស៊ីនមេលែងប្រើ URL ដែលត្រូវការហើយ ដូច្នេះប្រតិបត្តិការដែលបានបញ្ជាក់ក្នុងសំណើមិនត្រូវបានអនុវត្តទេ។ បឋមកថាទីតាំងផ្តល់ព័ត៌មានអំពីទីតាំងថ្មីនៃឯកសារដែលបានស្នើសុំ។ សំណើជាបន្តបន្ទាប់ត្រូវតែបញ្ជាក់ URL ថ្មី។
  • 302 - ផ្លាស់ទីបណ្តោះអាសន្ន (ធនធានត្រូវបានផ្លាស់ទីជាបណ្តោះអាសន្ន) - ចលនាបណ្តោះអាសន្ននៃ URL ដែលបានស្នើសុំ។ បឋមកថាទីតាំងបញ្ជាក់ទីតាំងថ្មី។ បន្ទាប់ពីទទួលបានលេខកូដស្ថានភាព អតិថិជនត្រូវតែដោះស្រាយសំណើដោយប្រើ URL ថ្មី ប៉ុន្តែបន្ទាប់មកប្រើតែលេខចាស់ប៉ុណ្ណោះ។
  • 303 - មើលផ្សេងទៀត (មើលធនធានផ្សេងទៀត) - ការស្វែងរក URL ដែលបានស្នើសុំត្រូវបានអនុវត្តដោយបញ្ជាក់ URL មួយផ្សេងទៀតដែលមានទីតាំងនៅបឋមកថាទីតាំង។
  • 304 - Not Modified - គឺជាលេខកូដឆ្លើយតបទៅកាន់ lf-Modified-Since header ប្រសិនបើ URL មិនបានផ្លាស់ប្តូរ។ តួខ្លឹមសារមិនមានវត្តមានទេ ដូច្នេះអតិថិជនត្រូវតែប្រើច្បាប់ចម្លងក្នុងស្រុករបស់វា។
  • 305 - ប្រើប្រូកស៊ី (ប្រើម៉ាស៊ីនមេប្រូកស៊ី) - ធនធានដែលបានស្នើសុំត្រូវតែចូលប្រើតាមរយៈម៉ាស៊ីនមេប្រូកស៊ី ដែលបានបញ្ជាក់នៅក្នុងវាលទីតាំង។ វាលនេះក៏មាន URL របស់ម៉ាស៊ីនមេប្រូកស៊ីដែលត្រូវការផងដែរ។ សំណើត្រូវតែធ្វើឡើងម្តងទៀតទៅកាន់អ្នកទទួល។

(400-499) សំណើអតិថិជនមិនពេញលេញ

លេខកូដឆ្លើយតបនៅក្នុងជួរនេះបង្ហាញថាសំណើរបស់អតិថិជនមិនពេញលេញទេ។ វាក៏អាចមានន័យថាអតិថិជនត្រូវបញ្ចូលព័ត៌មានបន្ថែម។

  • 400 - សំណើមិនល្អ(សំណើមិនត្រឹមត្រូវ) - ម៉ាស៊ីនមេមិនយល់ពីសំណើនេះ ដោយសារវាក្យសម្ព័ន្ធមិនត្រឹមត្រូវ។ សំណើអាចត្រូវបានធ្វើម្តងទៀត ប៉ុន្តែបានតែបន្ទាប់ពីការកែប្រែមួយចំនួនត្រូវបានធ្វើឡើង។
  • 401 - គ្មានការអនុញ្ញាត (គ្មានការអនុញ្ញាត) - អ្នកប្រើប្រាស់ត្រូវតែបញ្ជាក់ពីភាពត្រឹមត្រូវរបស់គាត់។ ការឆ្លើយតបត្រូវតែមានវាលបឋមកថា WWW-Authenticate ជាមួយនឹងបញ្ហាប្រឈមដែលអនុវត្តចំពោះធនធានដែលបានស្នើសុំ។ សំណើអាចត្រូវបានធ្វើម្តងទៀត ប៉ុន្តែជាមួយនឹងវាលបឋមកថាការអនុញ្ញាតសមរម្យ។ ប្រសិនបើវាលនេះមានការណែនាំអំពីការផ្ទៀងផ្ទាត់រួចហើយ លេខកូដស្ថានភាព 401 បង្ហាញថាការណែនាំបែបនេះមិនសមរម្យសម្រាប់ការផ្ទៀងផ្ទាត់។
  • 402 - ទាមទារការទូទាត់ - លេខកូដត្រូវបានបម្រុងទុក ហើយនឹងត្រូវបានប្រើនៅពេលអនាគត ប៉ុន្តែវាមិនទាន់ត្រូវបានអនុវត្តនៅក្នុង HTTP ទេ។
  • 403 - ហាមឃាត់ (ការចូលប្រើត្រូវបានបដិសេធ) - សំណើត្រូវបានច្រានចោល ដូច្នេះម៉ាស៊ីនមេមិនអាចឆ្លើយតបទៅអតិថិជនបានទេ។
  • 404 - រកមិនឃើញ(រកមិនឃើញធនធាន) - URL ដែលបានបញ្ជាក់លែងមានទៀតហើយ ឯកសារដែលត្រូវការនោះគឺម៉ាស៊ីនមេមិនបានរកឃើញអ្វីដែលអាចត្រូវគ្នានឹងសំណើនេះទេ។
  • 405 - វិធីសាស្រ្តមិនត្រូវបានអនុញ្ញាត - បឋមកថាអនុញ្ញាតបង្ហាញថាវិធីសាស្ត្រដែលប្រើដោយម៉ាស៊ីនភ្ញៀវមិនត្រូវបានគាំទ្រទេ។
  • 406 - មិនអាចទទួលយកបាន - ធនធានដែលបានកំណត់អាចបង្កើតបានតែវត្ថុដែលមានលក្ខណៈមាតិកាដែលមិនត្រូវគ្នានឹងបឋមកថាដែលទទួលយក។
  • 407 - ការផ្ទៀងផ្ទាត់ប្រូកស៊ីទាមទារ (ការចុះឈ្មោះជាមួយម៉ាស៊ីនមេប្រូកស៊ីត្រូវបានទាមទារ) - បង្ហាញពីតម្រូវការក្នុងការផ្ទៀងផ្ទាត់អតិថិជនទៅម៉ាស៊ីនមេប្រូកស៊ី។ ម៉ាស៊ីនមេប្រូកស៊ីត្រឡប់វាលបឋមកថាប្រូកស៊ី - ផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវដែលមានបញ្ហាប្រឈមជាក់លាក់។ សំណើអាចត្រូវបានធ្វើម្តងទៀត ប៉ុន្តែបានតែប្រសិនបើវាលបឋមកថាសមរម្យត្រូវបានបញ្ជាក់។
  • 408 - ការអស់ពេលនៃសំណើ (ពេលវេលាដំណើរការសំណើបានផុតកំណត់) - សំណើមិនត្រូវបានបំពេញដោយអតិថិជនខណៈពេលដែលម៉ាស៊ីនមេកំពុងរង់ចាំ។ សំណើអាចត្រូវបានធ្វើម្តងទៀតនៅពេលក្រោយ។
  • 409 - ជម្លោះ - សំណើមិនអាចដំណើរការបានទេព្រោះមានការប៉ះទង្គិចជាមួយស្ថានភាពនៃធនធាន។ អ្នក​ប្រើ​ត្រូវ​បាន​គេ​រំពឹង​ថា​នឹង​ដោះស្រាយ​ជម្លោះ ហើយ​ដាក់​ស្នើ​សំណើ​នេះ​ឡើង​វិញ។
  • 410 - បាត់ (ធនធានលែងមានទៀតហើយ) - URL ដែលបានស្នើសុំលែងមាននៅលើម៉ាស៊ីនមេទៀតហើយ។
  • 411 - Length Required (ប្រវែងត្រូវតែបញ្ជាក់) - សំណើមិនត្រូវបានទទួលយកដោយ server ទេ ព្រោះ Content-Length មិនត្រូវបានកំណត់។ សំណើអាចត្រូវបានធ្វើម្តងទៀតដោយបញ្ជាក់ប្រវែងនៃតួសារនៅក្នុងវាលបឋមកថា ប្រវែងខ្លឹមសារ។
  • 412 - លក្ខខណ្ឌជាមុនបានបរាជ័យ - សំណើមិនត្រូវបានដំណើរការដោយម៉ាស៊ីនមេទេ ព្រោះវត្ថុសំណើមានទំហំធំជាងដែលវាអាចដោះស្រាយបាន។ ក្នុងស្ថានភាពនេះវាអាចបិទការភ្ជាប់។ ប្រសិនបើលក្ខខណ្ឌនេះគឺបណ្តោះអាសន្ន នោះម៉ាស៊ីនមេបញ្ជាក់ពេលវេលានៅក្នុងបឋមកថា ព្យាយាម-បន្ទាប់ពីនោះ បន្ទាប់ពីនោះម៉ាស៊ីនភ្ញៀវអាចព្យាយាមម្តងទៀត។
  • 413 - Request Entity ធំពេក (ធាតុដែលបានស្នើគឺធំពេក) - សំណើមិនត្រូវបានដំណើរការដោយម៉ាស៊ីនមេទេ ដោយសារទំហំដ៏ធំរបស់វា។
  • 414 - សំណើ-URI វែងពេក (ឧបករណ៍កំណត់អត្តសញ្ញាណធនធានក្នុងសំណើគឺវែងពេក) - សំណើមិនត្រូវបានដំណើរការដោយម៉ាស៊ីនមេទេ ដោយសារ URL របស់វាវែងពេក។
  • 415 - ប្រភេទមេឌៀដែលមិនគាំទ្រ (ប្រភេទឧបករណ៍ដែលមិនគាំទ្រ) - ម៉ាស៊ីនមេបានបដិសេធមិនផ្តល់សេវាកម្មសំណើនេះទេ ដោយសារធនធានដែលបានស្នើសុំមិនគាំទ្រទ្រង់ទ្រាយនៃវត្ថុសំណើ។

(500-599) កំហុសម៉ាស៊ីនមេ

ជួរនេះបង្ហាញថាសំណើទំនងជានឹងបរាជ័យ ដោយសារម៉ាស៊ីនមេជួបប្រទះបញ្ហាជាក់លាក់មួយ។

  • 500 - ផ្ទៃក្នុង កំហុសម៉ាស៊ីនមេ (កំហុសខាងក្នុង server) - ខណៈពេលកំពុងដំណើរការសំណើ សមាសធាតុម៉ាស៊ីនមេមួយបានជួបប្រទះនឹងបញ្ហាក្នុងការកំណត់រចនាសម្ព័ន្ធជាក់លាក់មួយ។
  • 501 - មិនត្រូវបានអនុវត្ត (មុខងារមិនត្រូវបានអនុវត្ត) - សំណើរបស់អតិថិជនមិនអាចបំពេញបានទេព្រោះសំណើទាមទារការគាំទ្រសម្រាប់មួយចំនួន មុខងារ. អាចត្រូវបានចេញនៅពេលដែលម៉ាស៊ីនមេមិនអាចទទួលស្គាល់វិធីសាស្ត្រស្នើសុំ។
  • 502 - ច្រកផ្លូវអាក្រក់(gateway defect) - ម៉ាស៊ីនមេ នៅពេលធ្វើការជាម៉ាស៊ីនមេប្រូកស៊ី បានទទួលការឆ្លើយតបមិនត្រឹមត្រូវនៅក្នុងខ្សែសង្វាក់សំណើពីម៉ាស៊ីនមេបន្ទាប់។
  • 503 - សេវាកម្មមិនអាចប្រើបាន - សេវាកម្មមិនអាចប្រើបានជាបណ្តោះអាសន្ន ប៉ុន្តែការចូលប្រើអាចបន្តបន្ទាប់ពីមួយរយៈ។ ប្រសិនបើម៉ាស៊ីនមេមានទិន្នន័យជាក់លាក់ វាអាចចេញការឆ្លើយតបជាមួយបឋមកថា ព្យាយាម-បន្ទាប់ពី។
  • 504 - អស់ពេល Gateway (ពេលវេលាបានឆ្លងកាត់ gateway បានផុតកំណត់) - gateway ឬ server បានហួសពេលកំណត់។
  • 505 - កំណែ HTTP មិនត្រូវបានគាំទ្រ ( កំណែដែលមិនគាំទ្រ HTTP) - កំណែដែលមិនត្រូវបានគាំទ្រដោយម៉ាស៊ីនមេ ពិធីការ HTTPដែលត្រូវបានប្រើក្នុងសំណើ។

HTTP ( ការផ្ទេរ HyperTextពិធីការ - ពិធីការផ្ទេរអត្ថបទខ្ពស់) ត្រូវបានបង្កើតឡើងជាមូលដ្ឋាន ពិភពលោកបណ្តាញ។

ពិធីការ HTTP ដំណើរការដូចខាងក្រោម៖ កម្មវិធីអតិថិជនបង្កើតការតភ្ជាប់ TCP ជាមួយម៉ាស៊ីនមេ ( បន្ទប់ស្តង់ដារ port-80) ហើយចេញសំណើ HTTP ទៅវា។ ម៉ាស៊ីនមេដំណើរការសំណើនេះ ហើយចេញការឆ្លើយតប HTTP ដល់អតិថិជន។

រចនាសម្ព័ន្ធសំណើ HTTP

សំណើ HTTP មាន​បឋមកថា​សំណើ និង​តួ​សំណើ​ដែល​បំបែក​ដោយ​បន្ទាត់​ទទេ។ រាងកាយសំណើអាចបាត់។

បឋមកថាសំណើមានបន្ទាត់សំខាន់ (ទីមួយ) នៃសំណើ និងបន្ទាត់បន្តបន្ទាប់ដែលបញ្ជាក់ពីសំណើនៅក្នុងបន្ទាត់មេ។ បន្ទាត់បន្តបន្ទាប់ក៏អាចបាត់ដែរ។

សំណួរបន្ទាត់សំខាន់មានបីផ្នែក បំបែកដោយដកឃ្លា៖

វិធីសាស្រ្ត(និយាយម្យ៉ាងទៀតពាក្យបញ្ជា HTTP)៖

ទទួលបាន- ពាក្យសុំឯកសារ។ វិធីសាស្រ្តដែលប្រើជាទូទៅបំផុត; នៅក្នុង HTTP/0.9 ពួកគេនិយាយថា គាត់គឺជាមនុស្សតែម្នាក់គត់។

ក្បាល- ឯកសារស្នើសុំចំណងជើង។ វាខុសពី GET ដែលមានតែក្បាលសំណើដែលមានព័ត៌មានអំពីឯកសារប៉ុណ្ណោះដែលត្រូវបានប្រគល់មកវិញ។ ឯកសារខ្លួនឯងមិនត្រូវបានចេញទេ។

ប្រកាស- វិធីសាស្រ្តនេះត្រូវបានប្រើដើម្បីផ្ទេរទិន្នន័យទៅស្គ្រីប CGI ។ ទិន្នន័យខ្លួនវាលេចឡើងក្នុងបន្ទាត់បន្តបន្ទាប់នៃសំណើក្នុងទម្រង់ជាប៉ារ៉ាម៉ែត្រ។

ដាក់- ដាក់ឯកសារនៅលើម៉ាស៊ីនមេ។ តាម​ខ្ញុំ​ដឹង​វា​កម្រ​ប្រើ​ណាស់។ សំណើជាមួយវិធីសាស្រ្តនេះមានតួដែលឯកសារខ្លួនវាត្រូវបានបញ្ជូន។

ធនធាន- នេះជាផ្លូវទៅ ឯកសារជាក់លាក់នៅលើម៉ាស៊ីនមេដែលអតិថិជនចង់ទទួល (ឬកន្លែង - សម្រាប់វិធីសាស្ត្រ PUT) ។ ប្រសិនបើធនធានគ្រាន់តែជាឯកសារមួយចំនួនដែលត្រូវអាន នោះម៉ាស៊ីនមេត្រូវតែបញ្ជូនវាមកវិញនៅក្នុងផ្នែកឆ្លើយតបសម្រាប់សំណើនេះ។ ប្រសិនបើនេះជាផ្លូវទៅកាន់ស្គ្រីប CGI នោះម៉ាស៊ីនមេដំណើរការស្គ្រីប ហើយត្រឡប់លទ្ធផលនៃការប្រតិបត្តិរបស់វា។ ដោយវិធីនេះ អរគុណចំពោះការបង្រួបបង្រួមនៃធនធាននេះ អតិថិជនគឺមានភាពព្រងើយកន្តើយចំពោះអ្វីដែលគាត់តំណាងនៅលើម៉ាស៊ីនមេ។

កំណែពិធីការ-កំណែនៃពិធីការ HTTP ដែលកម្មវិធីអតិថិជនដំណើរការ។

ដូច្នេះសំណើ HTTP សាមញ្ញអាចមើលទៅដូចនេះ៖

វាទាមទារឯកសារ root ពីថត root របស់ម៉ាស៊ីនមេគេហទំព័រ។

បន្ទាត់បន្ទាប់ពីបន្ទាត់សំណួរចម្បងមានទម្រង់ដូចខាងក្រោមៈ

ប៉ារ៉ាម៉ែត្រ៖ តម្លៃ.

នេះជារបៀបដែលប៉ារ៉ាម៉ែត្រសំណើត្រូវបានកំណត់។ នេះគឺស្រេចចិត្ត បន្ទាត់ទាំងអស់បន្ទាប់ពីបន្ទាត់សំណួរចម្បងអាចបាត់។ ក្នុងករណីនេះ ម៉ាស៊ីនមេទទួលយកតម្លៃរបស់ពួកគេតាមលំនាំដើម ឬផ្អែកលើលទ្ធផលនៃសំណើពីមុន (នៅពេលធ្វើការក្នុងរបៀប Keep-Alive)។

ខ្ញុំនឹងរាយបញ្ជីប៉ារ៉ាម៉ែត្រសំណើ HTTP ដែលប្រើញឹកញាប់បំផុតមួយចំនួន៖

ការតភ្ជាប់(ការតភ្ជាប់) - អាចយកតម្លៃ Keep-Alive និងបិទ។ Keep-Alive មានន័យថាបន្ទាប់ពីការចេញឯកសារនេះ ការភ្ជាប់ទៅម៉ាស៊ីនមេមិនត្រូវបានខូចទេ ហើយសំណើជាច្រើនទៀតអាចត្រូវបានចេញ។ កម្មវិធីរុករកតាមអ៊ីនធឺណិតភាគច្រើនដំណើរការនៅក្នុងរបៀប Keep-Alive ព្រោះវាអនុញ្ញាតឱ្យអ្នក "ទាញយក" ទំព័រ html និងរូបភាពសម្រាប់វានៅក្នុងការតភ្ជាប់តែមួយទៅម៉ាស៊ីនមេ។ នៅពេលកំណត់ របៀប Keep-Alive ត្រូវបានរក្សារហូតដល់មានកំហុសដំបូង ឬរហូតដល់ការភ្ជាប់បន្ទាប់៖ សំណើបិទត្រូវបានបញ្ជាក់យ៉ាងច្បាស់។
close ("បិទ") - ការតភ្ជាប់ត្រូវបានបិទបន្ទាប់ពីឆ្លើយតបទៅនឹងសំណើនេះ។

ភ្នាក់ងារអ្នកប្រើប្រាស់- តម្លៃគឺជាកម្មវិធីរុករក "កូដ" ឧទាហរណ៍៖

Mozilla/4.0 (ឆបគ្នា; MSIE 5.0; Windows 95; DigExt)

ទទួលយក- បញ្ជីនៃប្រភេទមាតិកាដែលគាំទ្រដោយកម្មវិធីរុករកតាមលំដាប់នៃចំណូលចិត្តរបស់ពួកគេសម្រាប់កម្មវិធីរុករកដែលបានផ្តល់ឱ្យ ឧទាហរណ៍សម្រាប់ IE5 របស់ខ្ញុំ៖

ទទួលយក៖ image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */*

នេះពិតជាចាំបាច់សម្រាប់ករណីនៅពេលដែលម៉ាស៊ីនមេអាចបញ្ចេញឯកសារដូចគ្នាក្នុងទម្រង់ផ្សេងៗគ្នា។

តម្លៃនៃប៉ារ៉ាម៉ែត្រនេះត្រូវបានប្រើជាចម្បងដោយស្គ្រីប CGI ដើម្បីបង្កើតការឆ្លើយតបដែលប្រែប្រួលសម្រាប់កម្មវិធីរុករកដែលបានផ្តល់ឱ្យ។

យោង- URL ដែលអ្នកបានមកកាន់ធនធាននេះ។

ម្ចាស់ផ្ទះ- ឈ្មោះរបស់ម៉ាស៊ីនដែលធនធានត្រូវបានស្នើសុំ។ មានប្រយោជន៍ប្រសិនបើម៉ាស៊ីនមេមានម៉ាស៊ីនមេនិម្មិតជាច្រើននៅក្រោមអាសយដ្ឋាន IP ដូចគ្នា។ ក្នុងករណីនេះឈ្មោះ ម៉ាស៊ីនមេនិម្មិតកំណត់ដោយវាលនេះ។

ភាសាទទួលយក- ភាសាដែលគាំទ្រ។ សំខាន់សម្រាប់ម៉ាស៊ីនមេដែលអាចបម្រើឯកសារដូចគ្នានៅក្នុងកំណែភាសាផ្សេងគ្នា។

ទម្រង់ឆ្លើយតប HTTP

ទម្រង់ឆ្លើយតបគឺស្រដៀងទៅនឹងទម្រង់សំណើ៖ វាក៏មានបឋមកថា និងតួដែលបំបែកដោយបន្ទាត់ទទេ។

បឋមកថាក៏មានបន្ទាត់មេ និងបន្ទាត់ប៉ារ៉ាម៉ែត្រដែរ ប៉ុន្តែទម្រង់នៃបន្ទាត់មេគឺខុសពីបឋមកថានៃសំណើ។

ខ្សែអក្សរសំណួរចម្បងមាន 3 វាលដែលបំបែកដោយដកឃ្លា៖

កំណែពិធីការ- ស្រដៀងនឹងប៉ារ៉ាម៉ែត្រសំណើដែលត្រូវគ្នា។

លេខកូដកំហុស- ការកំណត់កូដនៃ "ជោគជ័យ" នៃសំណើ។ លេខកូដ 200 មានន័យថា "អ្វីគ្រប់យ៉ាងគឺល្អ" (យល់ព្រម) ។

ការពិពណ៌នាពាក្យសំដីនៃកំហុស- "ឌិគ្រីប" លេខកូដមុន។ ឧទាហរណ៍សម្រាប់ 200 វាមិនអីទេសម្រាប់ 500 - ម៉ាស៊ីនមេខាងក្នុងកំហុស។

ប៉ារ៉ាម៉ែត្រឆ្លើយតប http ទូទៅបំផុត៖

ការតភ្ជាប់- ស្រដៀងនឹងប៉ារ៉ាម៉ែត្រសំណើដែលត្រូវគ្នា។
ប្រសិនបើម៉ាស៊ីនមេមិនគាំទ្រ Keep-Alive (មានមួយចំនួន) នោះតម្លៃនៃការតភ្ជាប់នៅក្នុងការឆ្លើយតបគឺតែងតែនៅជិត។

ដូច្នេះតាមគំនិតរបស់ខ្ញុំ យុទ្ធសាស្ត្រកម្មវិធីរុករកត្រឹមត្រូវមានដូចខាងក្រោម៖
1. បញ្ហាការតភ្ជាប់: Keep-Alive នៅក្នុងការស្នើសុំ;
2. ស្ថានភាពការតភ្ជាប់អាចត្រូវបានវិនិច្ឆ័យដោយវាលការតភ្ជាប់នៅក្នុងការឆ្លើយតប។

ប្រភេទមាតិកា("ប្រភេទមាតិកា") - មានការកំណត់ប្រភេទមាតិកានៃការឆ្លើយតប។

អាស្រ័យ​លើ​តម្លៃ​ប្រភេទ Content-Type កម្មវិធីរុករក​តាម​អ៊ីនធឺណិត​បកស្រាយ​ការ​ឆ្លើយតប​ជា​ទំព័រ HTML រូបភាព gifឬ jpeg ជាឯកសារដែលត្រូវរក្សាទុកក្នុងថាស ឬអ្វីក៏ដោយ ហើយចាត់វិធានការសមស្រប។ តម្លៃមាតិកាប្រភេទសម្រាប់កម្មវិធីរុករកគឺដូចគ្នានឹងតម្លៃផ្នែកបន្ថែមឯកសារសម្រាប់វីនដូ។

ប្រភេទខ្លឹមសារមួយចំនួន៖

អត្ថបទ/html - អត្ថបទក្នុងទម្រង់ HTML (គេហទំព័រ);
អត្ថបទ/ធម្មតា - អត្ថបទធម្មតា (ស្រដៀងទៅនឹង Notepad);
រូបភាព / jpeg - រូបភាពក្នុងទម្រង់ JPEG;
រូបភាព / gif - ដូចគ្នានៅក្នុងទ្រង់ទ្រាយ GIF;
application/octet-stream - ស្ទ្រីមនៃ "octets" (ឧ. គ្រាន់តែបៃ) ដើម្បីសរសេរទៅឌីស។

តាមពិតមានប្រភេទមាតិកាជាច្រើនទៀត។

ប្រវែងមាតិកា("ប្រវែងមាតិកា") - ប្រវែងនៃមាតិកាឆ្លើយតបជាបៃ។

កែប្រែចុងក្រោយ("បានកែប្រែទៅ លើកចុងក្រោយ") - កាលបរិច្ឆេទ ការផ្លាស់ប្តូរចុងក្រោយឯកសារ។

ដោយសារតែការផ្លាស់ប្តូរដ៏ធំនៃគេហទំព័រទៅ HTTPS អ្នកអភិវឌ្ឍន៍ និងអ្នកគ្រប់គ្រងគេហទំព័របានប្រឈមមុខនឹងបញ្ហាថ្មីៗមួយចំនួន។ មួយក្នុងចំណោមពួកគេគឺជាការបញ្ជូនបន្តពី HTTP ទៅ HTTPS ហើយតម្រូវការដើម្បីដោះស្រាយការបញ្ជូនបន្តទៅកាន់អាសយដ្ឋានគេហទំព័រ Canonical ឱ្យបានត្រឹមត្រូវ ដើម្បីជៀសវាងមាតិកាស្ទួន។

HTTPS និងការបញ្ជូនបន្ត

សូមក្រឡេកមើលឧទាហរណ៍មួយ។ ឧបមាថាយើងមានគេហទំព័រ dnsimple.com ។ Canonical របស់វា។ URL - https://dnsimple.com. ទោះយ៉ាងណាក៏ដោយមានបួន វិធីផ្សេងគ្នាដែលអ្នកអាចភ្ជាប់ទៅគេហទំព័រ ហើយអ្នកត្រូវធានាថាជាមួយនឹងពួកគេណាមួយ អ្នកប្រើប្រាស់ត្រូវបានបញ្ជូនបន្តទៅ https://dnsimple.com៖

វិធីសាស្រ្តដើម ប្រភេទ
http://dnsimple.com HTTP + no-www
https://dnsimple.com HTTPS + no-www
http://www.dnsimple.com HTTP + www
https://www.dnsimple.com HTTPS + www

ការកំណត់រចនាសម្ព័ន្ធការបញ្ជូនបន្ត htaccess ពី HTTP ទៅ HTTPS ច្រើនតែជាប្រភពនៃការភ័ន្តច្រឡំ។ វាមិនតែងតែច្បាស់អំពីរបៀបដំណើរការការបញ្ជូនបន្តពី WWW ទៅកាន់មិនមែន WWW (ឬផ្ទុយមកវិញ) តាមរយៈ HTTPS ហើយហេតុអ្វីបានជាវាទាមទារ វិញ្ញាបនបត្រ SSL/ TLS ។ ដើម្បីកំណត់រចនាសម្ព័ន្ធការបញ្ជូនបន្តទាំងនេះឱ្យបានត្រឹមត្រូវ អ្នកត្រូវយល់ពីគោលការណ៍ជាមូលដ្ឋាននៃដំណើរការសំណើ HTTPS ។

បន្ទាប់មក យើងនឹងពិនិត្យមើលលំដាប់ដែលការតភ្ជាប់ត្រូវបានបង្កើតឡើងតាមរយៈពិធីការ HTTPS របៀបដែលសំណើ HTTP ត្រូវបានដំណើរការ និងបង្កើតការបញ្ជូនបន្តជាមួយនឹងការគាំទ្រ HTTPS ។

លំហូរសំណើ HTTPS

រូបភាពខាងលើបង្ហាញតារាងលំហូរសំណើ/ការឆ្លើយតប HTTPS។ សម្រាប់ភាពសាមញ្ញ យើងបានបែងចែកសកម្មភាពទាំងអស់ជាបីដំណាក់កាល៖

  1. នៅដំណាក់កាលដំបូង អតិថិជន និងម៉ាស៊ីនមេយល់ព្រមលើព័ត៌មានលម្អិតអំពីការអ៊ិនគ្រីប ដូចជាពិធីការអ៊ិនគ្រីប និងឈុតស៊ីប។ ព័ត៌មានចាំបាច់ដើម្បីប្តូរទៅការតភ្ជាប់សុវត្ថិភាពក៏កើតឡើងផងដែរ៖ សោសាធារណៈពត៌មានវិញ្ញាបនបត្រ។ល។ ដំណាក់កាលនេះត្រូវបានគេហៅថា " ការចាប់ដៃ SSL/TLS»;
  2. នៅដំណាក់កាលទីពីរ អតិថិជនរៀបចំសំណើ HTTP អ៊ិនគ្រីបវា ហើយផ្ញើវាទៅម៉ាស៊ីនមេសម្រាប់ដំណើរការ។ ម៉ាស៊ីនមេទទួលសំណើ HTTP ដែលបានអ៊ិនគ្រីប ឌិគ្រីបវា ដំណើរការវា និងចេញការឆ្លើយតប HTTP (ឆ្លើយតប);
  3. នៅ​ដំណាក់កាល​ទី​បី ម៉ាស៊ីន​បម្រើ​អ៊ិនគ្រីប​ការ​ឆ្លើយតប ហើយ​បញ្ជូន​វា​ទៅ​ម៉ាស៊ីនភ្ញៀវ​សម្រាប់​ដំណើរការ។ ម៉ាស៊ីនភ្ញៀវទទួលបានការឆ្លើយតប HTTP ដែលបានអ៊ិនគ្រីប ឌិគ្រីប និងដំណើរការវា ( ឧទាហរណ៍ កម្មវិធីរុករកចាប់ផ្តើមផ្ទុក និងបង្ហាញធាតុ).

ដ្យាក្រាមលំហូរបញ្ជូនបន្ត HTTP ទៅ HTTPS នេះអនុវត្តចំពោះសំណើណាមួយ ដោយមិនគិតពីខ្លឹមសារនៃការឆ្លើយតប HTTP ឡើយ។

ខាងលើខ្ញុំបានសរសេរ សំណើ HTTPនិងការឆ្លើយតប HTTP សម្រាប់គោលបំណងជាក់លាក់ ( ចំណាំថាខ្ញុំបានប្រើ HTTP និងមិនមែន HTTPS ទេ។) នៅក្នុងលក្ខខណ្ឌនៃខ្លឹមសារ និងរចនាសម្ព័ន្ធ វាជាការសំខាន់ដែលត្រូវយល់ថាសំណើ HTTPS គឺជាសំណើ HTTP ប៉ុន្តែបានបញ្ជូនតាមរយៈការតភ្ជាប់ដែលមានសុវត្ថិភាព ( TLS/SSL).

ការចរចា HTTPS និងការបញ្ជូនបន្ត

កំហុសមួយក្នុងចំណោមកំហុសទូទៅបំផុតនៅពេលដំឡើងការបញ្ជូនបន្ត HTTPS គឺសន្មត់ថាអ្នកមិនត្រូវការវិញ្ញាបនបត្រ SSL នៅពេលប្តូរទិសអតិថិជនពីដែនមួយទៅដែនមួយទៀត។

ប្រសិនបើអ្នកក្រឡេកមើលលំហូរសំណើ អ្នកអាចមើលឃើញថាការផ្លាស់ប្តូរវិញ្ញាបនបត្រ SSL និងការចរចាការអ៊ិនគ្រីបត្រូវបានអនុវត្តនៅក្នុងដំណាក់កាលដំបូង។ ចំណាំថានៅដំណាក់កាលនេះ ម៉ាស៊ីនមេមិនដឹងថាទំព័រអ្វីដែលអតិថិជនត្រូវការទេ៖ ម៉ាស៊ីនភ្ញៀវ និងម៉ាស៊ីនមេសម្រេចចិត្តពីរបៀបធ្វើអន្តរកម្មជាមួយគ្នា។

បន្ទាប់ពីការបញ្ចប់នៃដំណាក់កាលដំបូងនៅពេលដែលម៉ាស៊ីនភ្ញៀវនិងម៉ាស៊ីនមេបានរកឃើញ ភាសាសាមញ្ញ (ពិធីការអ៊ិនគ្រីប) ពួកគេអាចចាប់ផ្តើមទំនាក់ទំនងគ្នាទៅវិញទៅមកដោយប្រើការតភ្ជាប់ដែលបានអ៊ិនគ្រីប។ នៅចំណុចនេះ អតិថិជនផ្ញើសំណើ HTTP ទៅម៉ាស៊ីនមេ ហើយម៉ាស៊ីនមេផ្ញើការឆ្លើយតប HTTP ដែលមានការបញ្ជូនបន្ត។

កុំភ្លេចថាការបញ្ជូនបន្តគឺជាការឆ្លើយតប HTTP ដែលមានលេខកូដ 301 (ជួនកាល 302 ឬ 307):

HTTP/1.1 301 បានផ្លាស់ទីម៉ាស៊ីនមេអចិន្រ្តៃយ៍៖ nginx កាលបរិច្ឆេទ៖ ច័ន្ទ, 01 សីហា 2016 14:41:25 GMT ទីតាំង៖ https://dnsimple.com/

មុនពេលអ្នកធ្វើការប្តូរទិសពី HTTPS ទៅ HTTP សូមចាំថា ប្រសិនបើអ្នកត្រូវការបង្កើតការបញ្ជូនបន្តសម្រាប់ដែនទាំងមូល អ្នកត្រូវការវិញ្ញាបនបត្រ SSL ដែលមានសុពលភាពសម្រាប់ដែនដែលបានប្តូរទិស។ ការចរចាលើការអ៊ិនគ្រីបទាមទារវិញ្ញាបនបត្រ SSL ហើយកើតឡើងមុនពេលសំណើត្រូវបានដំណើរការ ហើយការឆ្លើយតបបញ្ជូនបន្តត្រឡប់ទៅអតិថិជនវិញ។

ប្រសិនបើអ្វីៗបានកើតឡើងខុសគ្នា ការបញ្ជូនបន្តនឹងត្រូវបានដំណើរការមុនពេលពិនិត្យមើលវិញ្ញាបនបត្រ SSL ។ ម៉ាស៊ីនភ្ញៀវ និងម៉ាស៊ីនមេនឹងត្រូវបង្ខំឱ្យទំនាក់ទំនងដោយប្រើការតភ្ជាប់ HTTP ធម្មតា ដែលមិនត្រូវបានអ៊ិនគ្រីបទេ។

ប្រសិនបើអ្នកត្រូវការប្តូរទិសអតិថិជនពីទំព័រណាមួយក្នុងដែន https://www.example.com ទៅមួយទៀត អ្នកត្រូវការវិញ្ញាបនបត្រ SSL ដែលមានសុពលភាពដែលបានដំឡើងនៅលើម៉ាស៊ីនមេ ដែលអនុវត្តចំពោះដែន www.example.com ទាំងមូល។

ឧទាហរណ៍ ដើម្បីប្តូរទិសអតិថិជនពី https://www.example.com ទៅ https://example.com អ្នកត្រូវតែមានវិញ្ញាបនបត្រដែលគ្របដណ្តប់លើវិញ្ញាបនបត្រទាំងពីរ ឬពីរដាច់ដោយឡែកពីគ្នា ( សម្រាប់ម្ចាស់ផ្ទះនីមួយៗរៀងៗខ្លួន).

យុទ្ធសាស្រ្តប្តូរទិស HTTPS

យើងបានមើលពីរបៀបដែលការបញ្ជូនបន្តពី HTTP ទៅ HTTPS ត្រូវបានដំណើរការតាមរយៈ htaccess បន្ទាប់ពីការចរចា SSL / TLS ។ យើងក៏បានរកឃើញថា ដើម្បីបញ្ជូនអតិថិជនពីគេហទំព័រ ឬទំព័រទៅកាន់ HTTPS អ្នកត្រូវការវិញ្ញាបនបត្រ SSL ដែលមានសុពលភាពដែលគ្របដណ្តប់លើដែនទាំងពីរ។ បន្ទាប់ខ្ញុំនឹងនិយាយអំពី យុទ្ធសាស្ត្រទូទៅការកំណត់បញ្ជូនបន្ត HTTPS ។

មានពីរប្រភេទនៃការដំឡើងការបញ្ជូនបន្តជាមួយ HTTPS:

  1. បញ្ជូនបន្តនៅកម្រិតម៉ាស៊ីនមេ;
  2. ការបញ្ជូនបន្តនៅកម្រិតកម្មវិធី។

ពាក្យ Server សំដៅលើ Server ណាមួយដែលអង្គុយនៅពីមុខកម្មវិធីគេហទំព័រ ហើយដំណើរការសំណើ HTTP ចូល។ ឧទាហរណ៍ ម៉ាស៊ីនមេផ្នែកខាងមុខ ម៉ាស៊ីនមេផ្ទុកតុល្យភាព ឬកម្មវិធីតែមួយ។

ពាក្យ​កម្មវិធី​តំណាង​ឱ្យ​កម្មវិធី​បណ្ដាញ​ដែល​អាច​សាមញ្ញ​ដូច​ជា​ស្គ្រីប PHP ឬ​ស្មុគស្មាញ​ជាង​នេះ​ដូចជា​កម្មវិធី​ខាង​ម៉ាស៊ីន​មេ Unicorn បកស្រាយ Ruby on Rails។

អនុវត្តការបញ្ជូនបន្ត HTTPS នៅកម្រិតម៉ាស៊ីនមេ

ការអនុវត្តការបញ្ជូនបន្ត HTTPS នៅកម្រិតម៉ាស៊ីនមេគឺល្អជាង។ ក្នុងករណីនេះ ម៉ាស៊ីនមេដែលវិញ្ញាបនបត្រ SSL ត្រូវបានដំឡើងទទួលយកសំណើ HTTP ដែលបានអ៊ិនគ្រីប ហើយត្រឡប់ការឆ្លើយតប HTTP ដែលបានអ៊ិនគ្រីប ស្របតាមប៉ារ៉ាម៉ែត្រកំណត់រចនាសម្ព័ន្ធ ដោយមិនចាំបាច់ភ្ជាប់ទៅម៉ាស៊ីនមេកម្មវិធី ឬដំណើរការកូដកម្មវិធីឡើយ។


វិធីសាស្រ្តនេះគឺលឿនជាងមុន ដោយសារម៉ាស៊ីនមេអាចគ្រប់គ្រងការបញ្ជូនបន្តដោយមិនធ្វើអន្តរកម្មជាមួយកម្មវិធី។ ទន្ទឹមនឹងនេះ ការកំណត់រចនាសម្ព័ន្ធម៉ាស៊ីនមេមានភាពបត់បែនតិចជាងអ្វីដែលអាចធ្វើបានដោយប្រើភាសាសរសេរកម្មវិធីពេញលេញ។
htaccess HTTP ប្តូរទិសនៅលើ HTTPS នៅកម្រិតម៉ាស៊ីនមេ ត្រូវបានប្រើសម្រាប់ការប្តូរទិសដៅច្រើន។ ឧទាហរណ៍ ការបញ្ជូនបន្តពី WWW ទៅកំណែដែលមិនមែនជា WWW នៃដែនដែលមាន HTTPS (ឬផ្ទុយមកវិញ) ។

អត្ថបទកូដខាងក្រោមគឺជាឧទាហរណ៍មួយ។ ការកំណត់រចនាសម្ព័ន្ធ Nginxដែលបញ្ជាក់ការបញ្ជូនបន្តពី http://example.com, http://www.example.com និង https://www.example.com ទៅ https://example.com៖

server ( listen 80; server_name example.com www.example.com; return 301 https://example.com$request_uri; ) server ( listen 443 ssl; server_name example.com www.example.com; # ssl configuration ssl on; ssl_certificate /path/to/certificate.crt; ssl_certificate_key /path/to/private.key; ប្រសិនបើ ($http_host = www.example.com) (ត្រឡប់ 301 https://example.com$request_uri; )

ការអនុវត្តការបញ្ជូនបន្តនៅកម្រិតម៉ាស៊ីនមេគឺល្អជាង ប៉ុន្តែវាមិនតែងតែអាចធ្វើទៅបានទេ ព្រោះអ្នកអាចមិនមានលទ្ធភាពចូលទៅកាន់ការកំណត់រចនាសម្ព័ន្ធម៉ាស៊ីនមេ។ នេះអនុវត្តចំពោះការបង្ហោះចែករំលែក ឬវេទិកាដូចជា Heroku, Azure ឬ Google Platform ។

អនុវត្តការបញ្ជូនបន្ត HTTPS នៅកម្រិតកម្មវិធី

នៅពេលដែលអ្នកមិនមានលទ្ធភាពចូលទៅកាន់ការកំណត់រចនាសម្ព័ន្ធម៉ាស៊ីនមេ ឬតក្កវិជ្ជាប្តូរទិសកាន់តែស្មុគស្មាញ អ្នកត្រូវដោះស្រាយ HTTP ទៅ HTTPS ប្តូរទិសនៅកម្រិតកម្មវិធី។


វិធីសាស្រ្តនេះគឺយឺតបន្តិច ដោយសារម៉ាស៊ីនមេត្រូវតែទទួលយកសំណើ ដំណើរការកូដកម្មវិធី ( ឬធ្វើអន្តរកម្មជាមួយម៉ាស៊ីនមេកម្មវិធី) ហើយឆ្លើយតបមកវិញ។

របៀបដែលការបញ្ជូនបន្តត្រូវបានអនុវត្តនៅកម្រិតកម្មវិធីគឺអាស្រ័យលើភាសាសរសេរកម្មវិធី និងជង់ដែលបានប្រើ។ នេះគឺជាឧទាហរណ៍មួយចំនួន។

កញ្ចប់ Goland និង net/http

អ្នកអាចប្រើ http.Redirect ។

Ruby នៅលើផ្លូវដែក

អ្នកអាចកំណត់រចនាសម្ព័ន្ធការបញ្ជូនបន្តនៅកម្រិតរ៉ោតទ័រ ប្រើកម្រិតមធ្យម កម្មវិធី Rack ឬ redirect_to method នៅខាងក្នុងឧបករណ៍បញ្ជា៖

constraints(host: /www.example.com/) ទទួលបាន "*", to: redirect("https://example.com") end

PHP

ប្រើមុខងារបឋមកថាដើម្បីផ្ញើបឋមកថា HTTP ប្តូរទិស៖

ក្នុងករណីខ្លះនេះគឺជាវិធីសាស្រ្តតែមួយគត់ដែលអាចធ្វើទៅបាន។ ឧទាហរណ៍ ប្រសិនបើអ្នកត្រូវការប្តូរទិសអតិថិជនពី WWW ទៅកំណែដែលមិនមែនជា WWW នៃដែន ពី HTTPS ទៅ Heroku ឬ Azure (ឬផ្ទុយមកវិញ) នោះអ្នកនឹងត្រូវបញ្ជាក់ដែនទាំងពីរនៅក្នុងកម្មវិធីតែមួយ ដំឡើងវិញ្ញាបនបត្រ និងដំណើរការ។ ការបញ្ជូនបន្តនៅកម្រិតកម្មវិធីតាមរយៈលក្ខខណ្ឌ។

វិធីជំនួសដើម្បីអនុវត្តការបញ្ជូនបន្ត HTTPS

មានមួយចំនួន វិធីជំនួសបញ្ជូនបន្តពី HTTP ទៅ HTTPS ។

ក្នុងស្ថានភាពខ្លះ មិនអាចចូលប្រើការកំណត់រចនាសម្ព័ន្ធម៉ាស៊ីនមេបានទេ ហើយវេទិកាដែលគេហទំព័រនេះបង្ហោះមិនអនុញ្ញាតឱ្យប្រើភាសាសរសេរកម្មវិធីទេ។ ជា ឧទាហរណ៍ធម្មតា។អ្នកអាចប្រើ Amazon S3 សម្រាប់បង្ហោះគេហទំព័រឋិតិវន្ត។ ក្នុងករណីនេះ អ្នកត្រូវស្វែងយល់ថាតើវេទិកាផ្តល់ប៉ារ៉ាម៉ែត្រប្តូរទិស HTTPS ដែលអ្នកអាចកំណត់រចនាសម្ព័ន្ធបានដែរឬទេ។

ជម្រើសមួយទៀតគឺប្រើកម្មវិធីប្តូរទិសឯករាជ្យឯករាជ្យ។ ឧទាហរណ៍ ប្រសិនបើអ្នកត្រូវការប្តូរទិសអតិថិជនពី https://alpha.com ទៅ https://beta.com ។ បន្ទាប់មកសម្រាប់ដែន alpha.com អ្នកអាចបញ្ជាក់សេវាផ្សេងទៀត ឬម៉ាស៊ីនមេដែលបង្ហោះ beta.com ជា DNS ។ អ្នកក៏អាចដំឡើងការបញ្ជូនបន្តនៅកម្រិតម៉ាស៊ីនមេ ឬដំឡើងកម្មវិធីដែលនឹងដើរតួជាអ្នកបញ្ជូនបន្ត។ ក្នុងករណីនេះ អ្នកក៏ត្រូវការវិញ្ញាបនបត្រដែលមានសុពលភាពសម្រាប់ alpha.com ដែលនឹងត្រូវបានដំឡើងនៅកន្លែងដែលការបញ្ជូនបន្តត្រូវធ្វើ។

របារអាសយដ្ឋាននៅក្នុងកម្មវិធីរុករកភាគច្រើនមិនទាក់ទាញការចាប់អារម្មណ៍ទេ លុះត្រាតែអ្នកចាំបាច់ត្រូវធ្វើតាមតំណដែលបានចម្លងពីកន្លែងណាមួយទៅកាន់ក្ដារតម្បៀតខ្ទាស់។ ពេលខ្លះយើងមើលទៅទីនោះ ដើម្បីប្រាកដថាការផ្លាស់ប្តូរគឺត្រឹមត្រូវ ជាពិសេសក្នុងករណីដែលមានការប្តូរទិសរហ័ស និងមិនស្មោះត្រង់។ ប៉ុន្តែប្រសិនបើយើងក្រឡេកមើល ពេលខ្លះយើងសង្កេតឃើញស្ថានភាពមិនធម្មតាមួយ៖ មានប្រភេទសោរព្យួរ ពណ៌ពុម្ពអក្សរខុសគ្នា ហើយសម្រាប់ហេតុផលមួយចំនួនជំនួសឱ្យ http:// ធម្មតា យើងឃើញ https:// ។ វាមិនអាចទៅរួចទេក្នុងការយល់ភ្លាមៗថាតើវាត្រូវបានគេយកទៅកន្លែងណាមួយ ឬអ្វីមួយនៅក្នុងពិភពលោកបានផ្លាស់ប្តូរ ឬថាតើការចងចាំកំពុងបរាជ័យ។ ចូរយើងព្យាយាមស្វែងយល់។

និយមន័យ

HTTPពិធីការកម្មវិធីការបញ្ជូនទិន្នន័យប្រើដើម្បីទទួលបានព័ត៌មានពីគេហទំព័រ។

HTTPS- ផ្នែកបន្ថែមពិធីការ HTTP ដែលគាំទ្រការអ៊ិនគ្រីបដោយ ពិធីការ SSLនិង TLS ។

ការប្រៀបធៀប

ភាពខុសគ្នារវាង HTTP និង HTTPS ត្រូវបានគេកត់សម្គាល់រួចហើយពីនិយមន័យ។ HTTPS មិនមែនជាពិធីការផ្ទេរទិន្នន័យឯករាជ្យទេ ប៉ុន្តែ HTTP ជាមួយនឹងការបន្ថែមការអ៊ិនគ្រីប។ នេះ​គឺ​ជា​គន្លឹះ​និង​ភាព​ខុស​គ្នា​តែ​ប៉ុណ្ណោះ។ ប្រសិនបើយោងទៅតាមពិធីសារ ទិន្នន័យ HTTPត្រូវបានបញ្ជូនដោយគ្មានការការពារ បន្ទាប់មក HTTPS នឹងផ្តល់ ការការពារគ្រីប. វាត្រូវបានប្រើនៅកន្លែងដែលការអនុញ្ញាតទទួលខុសត្រូវ៖ នៅលើគេហទំព័រប្រព័ន្ធទូទាត់ សេវាប្រៃសណីយ៍, នៅលើបណ្តាញសង្គម។

ប្រសិនបើទិន្នន័យមិនត្រូវបានការពារតាមរយៈ SSL នោះកម្មវិធីស្ទាក់ចាប់ដែលបានចាប់ផ្តើមនៅពេលខុសអនុញ្ញាតឱ្យអ្នកវាយប្រហារប្រើវា។ តាមបច្ចេកទេស ការអនុវត្ត HTTPS មានភាពស្មុគស្មាញបន្តិច៖ សម្រាប់បញ្ហានេះ គេហទំព័រការពារត្រូវតែមានវិញ្ញាបនបត្រម៉ាស៊ីនមេដែលកំពុងប្រើប្រាស់ ដែលអ្នកប្រើប្រាស់ទទួលយក ឬមិនទទួលយក។ វិញ្ញាបនបត្រនេះត្រូវបានដំឡើងនៅលើម៉ាស៊ីនមេដែលដំណើរការការតភ្ជាប់។ ទាំងទិន្នន័យដែលទទួលបានដោយអតិថិជន និងទិន្នន័យដែលទទួលបានពីគាត់ត្រូវបានអ៊ិនគ្រីប។ សោអ៊ិនគ្រីបត្រូវបានប្រើដើម្បីផ្ទៀងផ្ទាត់ថាម៉ាស៊ីនភ្ញៀវត្រឹមត្រូវទទួល និងផ្តល់ពួកវា។

រឿងមួយទៀត ភាពខុសគ្នាបច្ចេកទេស— នៅក្នុងច្រកដែលប្រើសម្រាប់ចូលប្រើតាមរយៈពិធីការ HTTP និង HTTPS ។ ច្រកទីមួយជាធម្មតាធ្វើអន្តរកម្មជាមួយច្រក 80 ច្រកទីពីរជាមួយច្រក 443។ អ្នកគ្រប់គ្រងអាចបើកច្រកផ្សេងទៀតសម្រាប់គោលបំណងដូចគ្នា ប៉ុន្តែពួកវានឹងមិនដែលត្រូវគ្នាឡើយ។

គេហទំព័រសេចក្តីសន្និដ្ឋាន

  1. HTTP គឺជាពិធីការផ្ទេរទិន្នន័យដោយខ្លួនឯង HTTPS គឺជាផ្នែកបន្ថែមនៃពិធីការនេះ។
  2. HTTPS ត្រូវបានប្រើសម្រាប់ការទំនាក់ទំនងដែលបានអ៊ិនគ្រីប។
  3. HTTPS ក៏ត្រូវបានប្រើសម្រាប់ការអនុញ្ញាតលើម៉ាស៊ីនមេដែលត្រូវការ បង្កើនការយកចិត្តទុកដាក់ដល់សុវត្ថិភាពទិន្នន័យ។
  4. HTTP ដំណើរការនៅលើច្រក 80, HTTPS នៅលើច្រក 443។