Klasa HttpWebRequest i WebRequest

0

Jak się ma klasa HttpWebRequest do klasy WebRequest? Na MSDN-ie jest napisane, że HttpWebRequest "provides an HTTP-specific implementation of the WebRequest class". Dlaczego więc powstała? Czy chodzi o ułatwienie wysyłania zapytań po HTTP?

1

Patrzac na MSDN mozna zauwazyc, ze klasa WebRequest jest klasa bazowa nie tylko dla klasy HttpWebRequest, ale takze dla:

System.IO.Packaging.PackWebRequest
System.Net.FileWebRequest
System.Net.FtpWebRequest

Mozna sie wiec domyslac, ze ktos kto to zaprojektowal chcial:

  • miec pewien wspolny interfejs obslugi klas pochodnych, choc niekoniecznie wspolna implementacje. Innymi slowy: wywolujesz pewna metode/wlasciwosc i sie nie przejmujesz jak ona dziala, liczy sie bardziej efekt.
  • miec pewien kod wspolny dla wszystkich klas pochodnych a jednoczesnie miec mozliwosc rozszerzenia klasy o dodatkowe metody/wlasciwosci itp. W klasie HttpWebRequest posiadasz np. wlasciwosc Accept, ktora sugeruje ze za jej pomoca mozesz odczytac naglowek Accept protokolu HTTP. W klasie FtpWebRequest takiej mozliwosci nie masz bo jest niepotrzebna/nieobslugiwana.
1

Klasa HttpWebRequest jest potomkiem WebRequest i powstała w celu umożliwienia prostszego wywoływania zapytań HTTP (bo to nie jedyny protokół jaki może byś użyty do komunikacji w internecie). Czyli tak, ma ułatwić zapytania HTTP.

0

Dzięki za wyjaśnienie, to mi wystarczy wiedzieć :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1