- فئة java.net.URL في جافا:
هو اختصار لمحدد موقع الموارد الموحد .URLإنَّه مؤشر لتحديد موقع المورد في شبكة الاتصالات العالمية (شبكة الويب العالمية) يمكن أن يكون المورد أي شيء بدءاً من ملف نصي بسيط إلى أي شيء آخر مثل الصور ودليل الملفات وما إلى ذلك.
- يحتوي عنوان URL على الأجزاء التالية:
البروتوكول: في هذه الحالة يكون البروتوكول HTTP وفي بعض الحالات يكون HTTPS.
اسم المضيف: يُمثِّل اسم المضيف عنوان الجهاز الذي يوجد عليه المورد.
رقم المنفذ: إنَّها سمة اختيارية إذا لم يتم تحديده فإنه يعود -1.
اسم المورد: هو اسم المورد الموجود على الخادم المحدد الذي نريد رؤيته.
- المنشئات التي توفرها URL :
توضيح | البناء |
يقوم هذا المنشأ بإنشاء كائن URLمن فئة تمثيل سلسلة محدد . | عنوان URL العام (عنوان للسلسلةURL). |
يقوم هذا المنشأ بإنشاء كائن URL من البروتوكول والمضيف ورقم المنفذ والملف المحدد. | عنوان URLالعام (بروتوكول السلسلة، منفذ مضيف، int السلسلة، ملف السلسلة). |
يقوم هذا المنشأ بإنشاء كائن URL من البروتوكول المحدد ورقم المنفذ والملف. يتم استخدام رقم المنفذ الافتراضي في هذه الحالة. | عنوان URL العام (بروتوكول السلسلة، مضيف السلسلة، ملف السلسلة). |
يقوم هذا المنشأ بإنشاء مثيل لعنوان URL عن طريق تحليل src المحدد باستخدام المعالج المحدد في سياق معين. | عنوان URLالعام (سياق عنوان URL، سلسلة src). |
- الطرق التي توفرها فئة URL:
توضيح | طريقة |
تقارن هذه الطريقة عنوان URL هذا بالمساواة مع كائن آخر. | equals(Object obj) |
تحصل هذه الطريقة على جزء السلطة من عنوان URL هذا. | GetAuthrity |
تحصل هذه الطريقة على محتويات عنوان URL هذا. | getContent |
تحصل هذه الطريقة على رقم المنفذ الافتراضي للبروتوكول المرتبط بعنوان URL هذا. | GetDefault |
تحصل هذه الطريقة على اسم الملف الخاص بعنوان URLهذا. | getFile |
تحصل هذه الطريقة على اسم المضيف لعنوان URL هذا، إن أمكن. | getHost |
تحصل هذه الطريقة على جزء المسار من عنوان URL هذا. | getPath |
تحصل هذه الطريقة على رقم المنفذ لعنوان URL هذا. | getPort |
تحصل هذه الطريقة على اسم البروتوكول لعنوان URLهذا. | getProtocol |
تحصل هذه الطريقة على جزء الاستعلام من عنوان URL هذا. | getQuery |
تحصل هذه الطريقة على الرابط المعروف ايضا باسم المرجع لعنوانURL هذا. | getRef |
تحصل هذه الطريقة على جزء معلومات المستخدم من عنوان .URL | getUserInfo |
تقوم هذه الطريقة بإنشاء عدد صحيح مناسب لفهرسة جدول التجزئة. | hashCode |
تقوم هذه الطريقة بإرجاع مثيل URLConnection الذي يمثل اتصالا بالكائن البعيد المشار اليه بواسطة عنوان URL. | openConnection |
مثل openConnection باستثناء أن الاتصال سيتم من خلال الوكيل المحدد؛ معالجات البروتوكول التي لا تدعم الوكلاء سوف تتجاهل معلمة الوكيل وتقوم بإجراء اتصال عادي. | openConnection(Proxy proxy) |
تفتح هذه الطريقة اتصالاً بعنوان URL هذا وترجع InputStream للقراءة من هذا الاتصال. | openStream |
تقوم هذه الطريقة بمقارنة عنواني URL، باستثناء مكون الجزء. | Samefile(URL other) |
تقوم هذه الطريقة بتعيين حقول عنوان .URL | set(String protocol, String host, int port, String file, String ref) |
تقوم هذه الطريقة بتعيين الحقول الثمانية المحددة لعنوان .URL | set(String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref) |
تقوم هذه الطريقة بتعيين URLStreamHandlerFactory | setURLStreamHandlerFactory (URLStreamHandlerFactory fact) |
تقوم هذه الطريقة بإنشاء تمثيل سلسلة لعنوان URL هذا. | ToExternalForm |
تقوم هذه الطريقة بإنشاء تمثيل سلسلة لعنوان URL هذا. | toString |
تقوم هذه الطريقة بإرجاع عنوان URI مكافئ لعنوان URLهذا. | ToURL |
- فئةjava.net.SecureCacheResponse :
تُمثِّل هذه الفئة استجابة ذاكرة التخزين المؤقت التي تمَّ استردادها في الأصل من خلال وسائل آمنة.
أساليب هذه الفئة كالتالي:
- getCipherSuite: يتم استخدام هذه الطريقة لإرجاع مجموعة التشفير المستخدمة على الاتصال الأصلي الذي قام باسترداد مورد الشبكة.
- getLocalPrincipal: يتم استخدام هذه الطريقة لإرجاع المصدر الأساسي الذي تم إرساله إلى الخادم أثناء المصافحة في الاتصال الأصلي الذي قام باسترداد مورد الشبكة.
- getPeerPrincipal: يتم استخدام هذه الطريقة لإرجاع مدير الخادم الذي تم إنشاؤه كجزء من تعريف الجلسة أثناء الاتصال الأصلي الذي قام باسترداد مورد الشبكة.
- getServerCertificateChain: يتم استخدام هذه الطريقة لإرجاع سلسلة شهادات الخادم، والتي تمَّ إنشاؤها كجزء من تعريف الجلسة في الاتصال الأصلي الذي قام باسترداد مورد الشبكة، من ذاكرة التخزين استخدام هذه الطريقة لإرجاع سلسلة شهادات الخادم، والتي تمَّ إنشاؤها كجزء من تعريف الجلسة في الاتصال الأصلي الذي قام باسترداد مورد الشبكة، من ذاكرة التخزين المؤقت.
- getLocalCertificateChain: يتم استخدام هذه الطريقة لإرجاع سلسلة الشهادات التي تمَّ إرسالها إلى الخادم أثناء تأكيد الاتصال الأصلي الذي قام باسترداد مورد الشبكة.
- فئة Java.net.serversocket في جافا:
تُستخدم هذه الفئة لتوفير تنفيذ مستقل عن النظام لجانب الخادم لاتصال مقبس العميل /الخادم يتم استخدامه تلي نطاق واسع لذلك
تطبيقات فئة java.net.serversocket هي كالتالي:
- يتم استخدام فئة serversocketفي قناةjava.nio لاسترداد serversocket المرتبط بهذه القناة.
- يتم استخدام فئة serversocketفيserver java.rmi. لإنشاء مقبس خادم على المنفذ المحدد.
- يتم استخدام مقبس الخادم في net javax. على نطاق واسع من أجل: ارجاع مقبس خادم غير مُنضم، ارجاع مقبس خادم منضم الى المنفذ المحدد، قم بإرجاع مقبس خادم مرتبط بالمنفذ المحدد واستخدم تراكم الاتصال المحدد، ارجاع مقبس خادم مرتبط بالمنفذ المحدد مع تراكم استماع محدد و IP مُحدَّد.
لنتعرف على طرق هذا الفصل وهي كما يلي:
- :accept يستمع الى الاتصال الذي يتم اجراؤه بهذا المقبس ويقبله
- :Bind (SocketAddress endpoint) يربط serversocket بعنوان محدد(عنوان IP ورقم المنفذ).
- Bind (SocketAddress endpoint, int backlog): يربط serversocket بعنوان محدد (عنوان IP ورقم المنفذ) ويطلب طول قائمة الانتظار اذا وصل طلب عندما تكون قائمة الانتظار ممتلئة فسيتم رفض الطلب من قبل الخادم.
- Close: يغلق هذا المقبس.
- getChannel: ارجاع كائن serverdocketchannelالفريد المرتبط بهذا المقبس إن وُجد.
- getLocalPort: ارجاع رقم المنفذ الذي يستمع عليه هذا المقبس.
- getLocalSocketAddress: يرجع عنوان نقطة النهاية التي يرتبط بها هذا المقبس او يرجع قيمة فارغة اذا لم يكن مرتبطا بعد.
- getReceiveBufferSize: الحصول على قيمة خيار ل SO_RCVBUFهذا و serversocket حجم المخزن المقترح المؤقت الذي سيتم استخدامه للمقابس المقبولة من serversocket هذا.
- getReuseAddress: اختبارات إذا تم تمكين SO_REUSEADDER.
- getSoTimeout: استرداد الاعداد ل .SO_TIMEOUT
- ImplAccept (Socket s): تستخدم الفئات الفرعية ل ServerSocket هذه الطريقة لتجاوز accept لإرجاع الفئة الفرعية الخاص بها من المقبس.
- isBound: ارجاع حالة الربط ل .ServerSocket
- isClosed: ارجاع الحالة المغلقة ل serversocket.
- toString: يضبط تفضيلات الاداء ل serversocket هذا.
- Sets performance preferences for this ServerSocket: يُعيِّن القيمة الافتراضية المقترحة لخيار SO_RCVBUF للمآخذ المقبولة من serversocket هذه.
- :SetReuseAddress (boolean on) تمكين / تعطيل خيار مأخذ التوصيل .SO_RCVBUF
- setSocketFactory(SocketImplFactory fac): يضبط مصنع تنفيذ مقبس الخادم للتطبيق.
- setSoTimeout(int timeout): تمكين / تعطيل SO_TIMEOUTالمحدد بالميلي ثانية.
- toString: ارجاع عنوان التنفيذ ومنفذ التنفيذ لهذا المقبس كسلسلة.
- فئة java.net.CasheRequestفي جافا:
يتم استخدام هذه الفئة عندما تكون هناك حاجة لتخزين الموارد في Responsecashe بشكل اكثر دقة توفر مثيلات هذه الفئة ميزة لكائن outputstreamلتخزين بيانات الموارد في ذاكرة التخزين المؤقت في الواقع يتم استدعاء كائن outputstreamهذا بواسطة معالجات البروتوكول. تنتمي فئة CasheRequest الى جانب فئات اخرى مثل java.netالى حزمة,casheresponse,Authenticator,serversocket, socketAddress, وغيرها الكثير.
ServerSocket | Inet6Address | الموثق |
قابس كهرباء | InetAddress | طلب ذاكرة التخزين المؤقت |
عنوان المقبس | InetSocketAddress | استجابة ذاكرة التخزين المؤقت |
المقبسImpl | عنوان الواجهة | ContentHandle |
المقبس | JarURLConnectio | CookieHandle |
URL | مقبس البث المتعدد | CookieManage |
عنوان URL | NetPermission | DatagramPacke |
- فئةcookieManager java.net. في جافا:
توفر فئة cookiemanagerتطبيقا دقيقا ل cookieHandler وهذا يفصل تخزين ملفات تعريف الارتباط ورفضها. تتم تهيئة CookieManagerباستخدام .CookieStore
يتم عرض الطرق الموجودة داخل فئة CookieManagerفي الجدول:
- getCookieStore: ستقوم هذه الطريقة باسترداد مخزن ملفات تعريف الارتباط الحالي.
- SetCookiePolicy (CookiePolicy cookiePolicy): ستقوم هذه الطريقة بتعيين سياسة ملفات تعريف الارتباط لمدير ملفات تعريف الارتباط هذا.
- Get (URI uri, Map<String, List<String>> requestHeaders): ستحصل هذه الطريقة على جميع ملفات تعريف الارتباط القابلة للتطبيق من ذاكرة التخزين المؤقت لملفات تعريف الارتباط لعنوان URI المحدد في رأس الطلب.
- Put (URI uri, Map<String, List<String>> responseHeaders: ستقوم هذه الطريقة بتعيين جميع ملفات الارتباط القابلة للارتباط.
دعونا نناقش الطرق الاربعة لهذا الفصل بشكل فردي:
طريقة أولى: تقوم هذه الطريقة باسترداد مخزن ملفات تعريف الارتباط الحالي وارجاع مخزن ملفات تعريف الارتباط الذي يستخدمه مدير ملفات تعريف الارتباط حالياً.
طريقة ثانية: تقوم طريقة setCookiePolicy بتعيين سياسة ملفات تعريف الارتباط الخاصة بمدير ملفات تعريف الارتباط. سيكون لدى مثيل CookieManager سياسة ملفات تعريف الارتباط ACCEPT_ORIGINAL_SERVER بشكل افتراضي. يمكن استدعاء هذه الطريقة لتعيين سياسة أخرى لملفات تعريف الارتباط.
طريقة ثالثة: تحصل طريقة get على جميع ملفات تعريف الارتباط القابلة للتطبيق من ذاكرة التخزين المؤقت المطلوب داخل URLلملفات تعريف الارتباط لعنوان رأس الطلب. الأمر متروك للتنفيذ للمطالبة بمعرف URLوبالتالي سمات ملفات تعريف الارتباط واعدادات الامان لتحديد اي منها يجب ارجاعه. يجب ان يؤكد منفذو بروتوكول HTTPان هذه الطريقة يتم استدعاؤها بعد اضافة جميع رؤوس الطلبات المرتبطة باختيار ملفات تعريف الارتباط وقبل ارسال الطلب.
طريقة رابعة: تقوم طريقة put بتعيين ملفات تعريف الارتباط القابلة للتطبيق.
- فئةsocketpermission java.net.في جافا:
تُمثِّل فئة java.net.socketpermission ما اذا كان لديك إذن للوصول الى الشبكة عبر المقابس. يتكون switchpermissionمن مضيف ومجموعة من الإجراءات.
البناء:
- ManagementPermission(String name): يؤدي هذا إلى إنشاء ManagementPermission بالاسم المحدد.
- ManagementPermission(String name, String actions): يؤدي هذا إلى إنشاء كائن ManagementPermission جديد.
المقبس العام: يستخدم لإنشاء كائن جديد من jackpermissionمع الاجراءات المحددة
الطرق.
- equals(object obj): يقوم بالتحقق ما اذا كان كائني switchpremission متساويين أم لا.
- getActions: تقوم بإرجاع اجراءات كائن switchpermission هذا بتنسيق سلسلة.
- Hashcode: تقوم بإرجاع قيمة رمز التجزئة لهذا الكائن.
- Implies (Permission p): يقوم بالتحقق مما إذا كان كائن switchpermission يتضمن هذا الإذن أم لا.
- : newPermissonCollection تقوم بإرجاع كائن permissioncollection جديد.
- فئة java.net.NetPermissionفي جافا:
يتم استخدام فئة NetPermissionللسماح بأذونات الشبكة. تعمل فئة NetPermission على أنَّه إذن مسمى توسيع فئة BasicPermission Hأي أنَّه يحتوي على اسم ولكن لا يوجد اجراء.
المخاطر المرتبطة بهذا الإذن | ما يسمح به الإذن | اسم الإذن |
قد يستخدم المهاجمون HTTP TRACE للوصول إلى الأمان في رؤوس. | يسمح هذا الإذن باستخدام أسلوب HTTPTRACE فيHttpURLConnection | allowHttpTrac |
قد يستخدم المهاجمون على معالج ملفات تعريف الارتباط ويتمكنون من الوصول إلى معلومات ملفات تعريف الارتباط الامنة للغاية. | يسمح هذا الإذن بالحصول على معالج ملفات تعريف الارتباط الذي يعالج معلومات ملفات تعريف الارتباط الآمنة للغاية لجلسة HTTP هذه. | getCookieHandle |
قد يحصل المهاجمون على معلومات حول الأجهزة المحلية. | يسمح هذا بالحصول على معلومات حول واجهات الشبكة المحلية. | getNetworkInformatio |
قد يحصل المهاجمون على ProxySelector ويحصلون على معلومات حول مضيفي الوكيل ومنافذ الشبكات المحلية. | يسمح هذا الإذن لمحدد الوكيل بتحديد الوكلاء الذين سيتم استخدامه عند إجراء اتصالات الشبكة. | getProxySelecto |
قد يتمكن المهاجمون من الوصول إلى ذاكرة التخزين المؤقت المحلية التي قد تحتوي على معلومات امنية | يسمح الإذن بالوصول إلى ذاكرة التخزين المؤقت للاستجابة المحلي. | getResponseCach |
يقوم المهاجمون بسرقة كلمة المرور هذه. | يمنح هذا الإذن القدرة على مطالبة المصادق بكلمة مرور. | طلب مصادقة كلمة مرور |
قد يحصل المهاجمون على معالج ملفات تعريف الارتباط ويتمكنون من الوصول إلى معلومات ملفات تعريف الارتباط الآمنة للغاية . | يسمح هذا الإذن بتعيين معالج ملفات تعريف الارتباط الذي يعالج معلومات ملفات تعريف الارتباط الآمنة للغاية لجلسة HTTP هذه. | setCookieHandle |
يمكن للمهاجمين تعيين أداة مصادقة والحصول على معلومات أمنية. | وهذا يسمح بتعيين الموثق. | setDefaultAuthenticato |
يمكن للمهاجمين تعيين ProxySelector والحصول على معلومات حول مضيفي الوكيل ومنافذ الشبكات الداخلية. | يسمح هذا الإذن لمحدد الوكيل بتعيين الوكلاء الذين سيتم استخدامه عند إجراء اتصالات الشبكة. | setProxySelecto |
قد يتمكن المهاجمون من الوصول إلى ذاكرة التخزين المؤقت المحلية التي قد تحتوي على معلومات أمنية. | يسمح الإذن بتعيين ذاكرة التخزين المؤقت للاستجابة المحلية. | setResponseCach |
يمكن للمهاجمين إنشاء عنوان URL والوصول إلى الموارد التي لا يمكنهم الوصول إليها عادة. | يسمح الإذن بتحديد StreamHandler لإنشاء عناوين URL. |