1.  فئة  java.net.URL في جافا:

هو اختصار لمحدد موقع الموارد الموحد .URLإنَّه مؤشر لتحديد موقع المورد في شبكة الاتصالات العالمية (شبكة الويب العالمية) يمكن أن يكون المورد أي شيء بدءاً من ملف نصي بسيط إلى أي شيء آخر مثل الصور ودليل الملفات وما إلى ذلك.

  1.  يحتوي عنوان URL  على الأجزاء التالية:

البروتوكول: في هذه الحالة يكون البروتوكول  HTTP وفي بعض الحالات يكون HTTPS.

اسم المضيف: يُمثِّل اسم المضيف عنوان الجهاز الذي يوجد عليه المورد.

رقم المنفذ: إنَّها سمة اختيارية إذا لم يتم تحديده فإنه يعود -1.

اسم المورد: هو اسم المورد الموجود على الخادم المحدد الذي نريد رؤيته. 

  1. المنشئات التي توفرها URL :
توضيحالبناء
يقوم هذا المنشأ بإنشاء كائن  URLمن فئة تمثيل سلسلة محدد . عنوان  URL العام (عنوان للسلسلةURL).
يقوم هذا المنشأ بإنشاء كائن URL من البروتوكول والمضيف ورقم المنفذ والملف المحدد.عنوان  URLالعام (بروتوكول السلسلة، منفذ مضيف، int السلسلة، ملف السلسلة).
 يقوم هذا المنشأ بإنشاء كائن  URL من البروتوكول المحدد ورقم المنفذ والملف. يتم استخدام رقم المنفذ الافتراضي في هذه الحالة.عنوان URL العام (بروتوكول السلسلة، مضيف السلسلة، ملف السلسلة).
يقوم هذا المنشأ بإنشاء مثيل لعنوان URL  عن طريق تحليل  src المحدد باستخدام المعالج المحدد في سياق معين. عنوان  URLالعام (سياق عنوان  URL، سلسلة src).
  1. الطرق التي توفرها فئة 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
تحصل هذه الطريقة على جزء معلومات المستخدم من عنوان .URLgetUserInfo
تقوم هذه الطريقة بإنشاء عدد صحيح مناسب لفهرسة جدول التجزئة.hashCode
تقوم هذه الطريقة بإرجاع مثيل URLConnection الذي يمثل اتصالا بالكائن البعيد المشار اليه بواسطة عنوان URL.openConnection
مثل openConnection باستثناء أن الاتصال سيتم من خلال الوكيل المحدد؛ معالجات البروتوكول التي لا تدعم الوكلاء سوف تتجاهل معلمة الوكيل وتقوم بإجراء اتصال عادي.openConnection(Proxy proxy)
تفتح هذه الطريقة اتصالاً بعنوان URL هذا وترجع  InputStream للقراءة من هذا الاتصال.openStream
تقوم هذه الطريقة بمقارنة عنواني URL، باستثناء مكون الجزء.Samefile(URL other)
تقوم هذه الطريقة بتعيين حقول عنوان .URLset(String protocol, String host, int port, String file, String ref)
 تقوم هذه الطريقة بتعيين الحقول الثمانية المحددة لعنوان .URLset(String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref)
تقوم هذه الطريقة بتعيين URLStreamHandlerFactorysetURLStreamHandlerFactory (URLStreamHandlerFactory fact)
تقوم هذه الطريقة بإنشاء تمثيل سلسلة لعنوان  URL هذا.ToExternalForm
تقوم هذه الطريقة بإنشاء تمثيل سلسلة لعنوان URL  هذا.toString
تقوم هذه الطريقة بإرجاع عنوان  URI مكافئ لعنوان  URLهذا.ToURL

  1.  فئةjava.net.SecureCacheResponse  : 

تُمثِّل هذه الفئة استجابة ذاكرة التخزين المؤقت التي تمَّ استردادها في الأصل من خلال وسائل آمنة. 

أساليب هذه الفئة كالتالي: 

  • getCipherSuite: يتم استخدام هذه الطريقة لإرجاع مجموعة التشفير المستخدمة على الاتصال الأصلي الذي قام باسترداد مورد الشبكة.
  • getLocalPrincipal: يتم استخدام هذه الطريقة لإرجاع المصدر الأساسي الذي تم إرساله إلى الخادم أثناء المصافحة في الاتصال الأصلي الذي قام باسترداد مورد الشبكة. 
  • getPeerPrincipal: يتم استخدام هذه الطريقة لإرجاع مدير الخادم الذي تم إنشاؤه كجزء من تعريف الجلسة أثناء الاتصال الأصلي الذي قام باسترداد مورد الشبكة. 
  • getServerCertificateChain: يتم استخدام هذه الطريقة لإرجاع سلسلة شهادات الخادم، والتي تمَّ إنشاؤها كجزء من تعريف الجلسة في الاتصال الأصلي الذي قام باسترداد مورد الشبكة، من ذاكرة التخزين استخدام هذه الطريقة لإرجاع سلسلة شهادات الخادم، والتي تمَّ إنشاؤها كجزء من تعريف الجلسة في الاتصال الأصلي الذي قام باسترداد مورد الشبكة، من ذاكرة التخزين المؤقت.
  • getLocalCertificateChain: يتم استخدام هذه الطريقة لإرجاع سلسلة الشهادات التي تمَّ إرسالها إلى الخادم أثناء تأكيد الاتصال الأصلي الذي قام باسترداد مورد الشبكة. 
  1.  فئة 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: ارجاع عنوان التنفيذ ومنفذ التنفيذ لهذا المقبس كسلسلة.
  1. فئة  java.net.CasheRequestفي جافا:

يتم استخدام هذه الفئة عندما تكون هناك حاجة لتخزين الموارد في  Responsecashe بشكل اكثر دقة توفر مثيلات هذه الفئة ميزة لكائن  outputstreamلتخزين بيانات الموارد في ذاكرة التخزين المؤقت في الواقع يتم استدعاء كائن  outputstreamهذا بواسطة معالجات البروتوكول. تنتمي فئة CasheRequest الى جانب فئات اخرى مثل java.netالى حزمة,casheresponse,Authenticator,serversocket, socketAddress, وغيرها الكثير. 

ServerSocketInet6Addressالموثق
قابس كهرباءInetAddressطلب ذاكرة التخزين المؤقت
عنوان المقبسInetSocketAddressاستجابة ذاكرة التخزين المؤقت
المقبسImplعنوان الواجهةContentHandle
المقبسJarURLConnectioCookieHandle
URLمقبس البث المتعددCookieManage
عنوان URLNetPermissionDatagramPacke
  1. فئة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 بتعيين ملفات تعريف الارتباط القابلة للتطبيق. 

  1.  فئة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 جديد.
  1.  فئة  java.net.NetPermissionفي جافا: 

يتم استخدام فئة  NetPermissionللسماح بأذونات الشبكة. تعمل فئة NetPermission على أنَّه إذن مسمى توسيع فئة   BasicPermission Hأي أنَّه يحتوي على اسم ولكن لا يوجد اجراء. 

المخاطر المرتبطة بهذا الإذنما يسمح به الإذناسم الإذن
قد يستخدم المهاجمون HTTP TRACE للوصول إلى الأمان في رؤوس.يسمح هذا الإذن باستخدام أسلوب HTTPTRACE فيHttpURLConnectionallowHttpTrac
قد يستخدم المهاجمون على معالج ملفات تعريف الارتباط ويتمكنون من الوصول إلى معلومات ملفات تعريف الارتباط الامنة للغاية.يسمح هذا الإذن بالحصول على معالج ملفات تعريف الارتباط الذي يعالج معلومات ملفات تعريف الارتباط الآمنة للغاية لجلسة HTTP هذه.getCookieHandle
قد يحصل المهاجمون على معلومات حول الأجهزة المحلية.يسمح هذا بالحصول على معلومات حول واجهات الشبكة المحلية.getNetworkInformatio
قد يحصل المهاجمون على ProxySelector  ويحصلون على معلومات حول مضيفي الوكيل ومنافذ الشبكات المحلية.  يسمح هذا الإذن لمحدد الوكيل بتحديد الوكلاء الذين سيتم استخدامه عند إجراء اتصالات الشبكة. getProxySelecto
قد يتمكن المهاجمون من الوصول إلى ذاكرة التخزين المؤقت المحلية التي قد تحتوي على معلومات امنية يسمح الإذن بالوصول إلى ذاكرة التخزين المؤقت للاستجابة المحلي.getResponseCach
يقوم المهاجمون بسرقة كلمة المرور هذه. يمنح هذا الإذن القدرة على مطالبة المصادق بكلمة مرور. طلب مصادقة كلمة مرور
قد يحصل المهاجمون على معالج ملفات تعريف الارتباط ويتمكنون من الوصول إلى معلومات ملفات تعريف الارتباط الآمنة للغاية .يسمح هذا الإذن بتعيين معالج ملفات تعريف الارتباط الذي يعالج معلومات ملفات تعريف الارتباط الآمنة للغاية لجلسة HTTP  هذه.setCookieHandle
يمكن للمهاجمين تعيين أداة مصادقة والحصول على معلومات أمنية. وهذا يسمح بتعيين الموثق.setDefaultAuthenticato
يمكن للمهاجمين تعيين ProxySelector والحصول على معلومات حول مضيفي الوكيل ومنافذ الشبكات الداخلية. يسمح هذا الإذن لمحدد الوكيل بتعيين الوكلاء الذين سيتم استخدامه عند إجراء اتصالات الشبكة. setProxySelecto
 قد يتمكن المهاجمون من الوصول إلى ذاكرة التخزين المؤقت المحلية التي قد تحتوي على معلومات أمنية.يسمح الإذن بتعيين ذاكرة التخزين المؤقت للاستجابة المحلية.setResponseCach
يمكن للمهاجمين إنشاء عنوان URL والوصول إلى الموارد التي لا يمكنهم الوصول إليها عادة. يسمح الإذن بتحديد  StreamHandler لإنشاء عناوين URL.
Facebook
Twitter
YouTube
LinkedIn