1 / 26

Инфраструктурата на WWW и HTTP

Инфраструктурата на WWW и HTTP. Светлин Наков. Национална академия по разработка на софтуер. academy.devbg.org. Съдържание. Какво е WWW? Компоненти на WWW: URL, HTML, HTTP Протоколът HTTP HTTP заявки HTTP отговори Cookies. Какво е WWW?. Представяне на World Wide Web.

Download Presentation

Инфраструктурата на WWW и HTTP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Инфраструктурата на WWW и HTTP Светлин Наков Национална академия по разработка на софтуер academy.devbg.org

  2. Съдържание • Какво е WWW? • Компоненти на WWW: URL, HTML, HTTP • Протоколът HTTP • HTTP заявки • HTTP отговори • Cookies

  3. Какво е WWW? Представяне на World Wide Web

  4. Какво е WWW? • WWW = World Wide Web= Web = Уеб • Глобално информационно пространство в Интернет • Услуга в Интернет (като E-mail, DNS, ...) • Множество документи (и други ресурси) разположени по различни уеб сървъри • Достъпни през стандартни протоколи като HTTP, HTTPS и FTP по техния URL • Уеб сървъритепредоставят уеб съдържание • Уеб браузъритепоказват уеб страници

  5. Компоненти на WWW • Структурни компоненти • Internet – предоставя пренос на данни по протоколите TCP и HTTP • Клиенти (уеб браузъри) – показват уеб съдържанието – Internet Explorer, Mozilla, … • Уеб сървъри – Apache, IIS, Tomcat • Семантични компоненти • Hyper Text Transfer Protocol (HTTP) • Hyper Text Markup Language (HTML) • Uniform Resource Locator (URL) • Uniform Resource Identifiers (URIs)

  6. Инфраструктура на WWW • Клиентите използват уеб браузър за да искат ресурси от уеб сървърите по HTTP • Ресурсите имат уникален URL адрес • Сървърите връщат поискания ресурс • Или връщат код и съобщение за грешка • Уеб страниците са ресурси във WWW • Състоят се от HTML текст, графики, анимации, звук и други файлове (ресурси) • Уеб сайтове • Уеб сайтовете са съвкупности от уеб страници

  7. Инфраструктура на WWW (2) • Клиентския браузър показва (render)уеб страниците, върнати от уеб сървъра • Страниците са написани на езика HTML (Hyper Text Markup Language) • Браузърите показват текст, графика и звук • HTML страниците могат да съдържат хипер-връзки за навигация към други страници • Цялата система на WWW работи върху стандартни мрежови протоколи • TCP/IP, DNS, HTTP, … • Протоколът HTTP е фундаментален за WWW

  8. Основни компоненти на WWW: URL • Uniform Resource Locator (URL) • Адрес на уникален ресурсвъв WWW, напр. • Представлява форматиран низ • Протокол за достъп до сървъра (http, ftp, https, ...) • Име на сървъра или IP адрес (например academy.devbg.org) • Път до ресурса и име (напр., index.php) • Параметри (напр. ?id=27&lang=en) http://academy.devbg.org/index.php

  9. Основни компоненти на WWW: HTML • Hyper Text Markup Language (HTML) • Форматиран текст с картинки и хипервръзки • Интерпретира се и се показва от браузърите • Лесен за усвояване и използване • HTML документите са просто текст и тагове • Лесно се добавя форматиране на текста • Генерира се автоматично с HTML редактори • Уеб страница • HTML файл, множество картинки и други ресурси (съвкупност от файлове)

  10. HTML – пример <html> <head><title>Example HTML</title></head> <body> <h1>Heading 1</h1> <h2>Sub heading 2</h2> <h3>Sub heading 3</h3> <p>This is my first paragraph</p> <p>This is my second paragraph</p> <a href="http://academy.devbg.org"><img src="NASD-logo.png" border="0"></a> <div align="center" style="background:skyblue"> This is a div</div> </body> </html>

  11. HTML – пример <html> <head><title>Example HTML</title></head> <body> <h1>Heading 1</h1> <h2>Sub heading 2</h2> <h3>Sub heading 3</h3> <p>This is my first paragraph</p> <p>This is my second paragraph</p> <a href="http://academy.devbg.org"><img src="NASD-logo.png" border="0"></a> <div align="center" style="background:skyblue"> This is a div</div> </body> </html>

  12. Основни компоненти на WWW: HTTP • Hyper Text Transfer Protocol (HTTP) • Протокол за пренос на уеб ресурси между уеб сървър и уеб клиент • Важни свойства на HTTP • Модел “заявка – отговор” • Използва адресиране чрез URL • Не поддържа състояние (stateless) • Обменя ресурси и метаданни за тях • Текстов формат

  13. Протоколът HTTP Как HTTP работи?

  14. Клиентско приложение Например уеб браузър Иска ресурс Извиква услуга Сървърно приложение Уеб сървър Връща поискан ресурс Предоставя услуга HTTP: заявки и отговори GET /index.html "Welcome to our Web site!"

  15. Пример: Hyper Text Transfer Protocol HTTP заявка GET /courses/archive/spring06/cos461/ HTTP/1.1 Host: www.cs.princeton.edu User-Agent: Mozilla/4.03 <CRLF> Празният ред маркира края на хедъра на заявката HTTP отговор HTTP/1.1 200 OK Date: Mon, 6 Feb 2006 13:09:03 GMT Server: Netscape-Enterprise/3.5.1 Last-Modified: Mon, 6 Feb 2006 11:12:23 GMT+2 Content-Length: 54 <CRLF> <html><title>Hello</title> Welcome to our site</html> Празният ред маркира края на хедъра на отговора

  16. HTTP заявки • HTTP заявката на клиента се състои от: • Ред на заявката (request line) • Метод на заявката (GET, POST, HEAD, PUT, ...), ресурс и версия на HTTP протокола • Хедъри на заявката • Предоставя различни параметри и настройки • Тяло • Съдържа данни, може да е празно <request method> <resource> HTTP/<version> <headers> <empty line> <body>

  17. HTTP GET заявка – пример Пример за HTTP GET заявка GET /InetJava-2002-program.html HTTP/1.1 Host: inetjava.sourceforge.net Accept: */* Accept-Language: bg Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0(compatible;MSIE 6.0; Windows NT 5.0) Connection: Keep-Alive Cache-Control: no-cache <CRLF>

  18. HTTP POST заявка – пример Пример за HTTP POST заявка POST /webmail/login.phtml HTTP/1.1 Host: www.abv.bg Accept: */* Accept-Language: bg Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0(compatible;MSIE 6.0; Windows NT 5.0) Connection: Keep-Alive Cache-Control: no-cache Content-Length: 59 <CRLF> LOGIN_USER=boris DOMAIN_NAME=abv.bg LOGIN_PASS=tajnamajna <CRLF>

  19. HTTP условна GET заявка – пример • Връща ресурса само ако е бил модифициран на сървъра • Спестяват се ресурси (чрез кеширане) • Сървърът връща отговор “304 Not Modified” ако ресурсът не е променян • Или “200 OK” с последната версия на ресурса Пример за HTTP условна GET заявка GET /courses/archive/spring06/cos461/ HTTP/1.1 Host: www.cs.princeton.edu User-Agent: Mozilla/4.03 If-Modified-Since: Mon, 6 Feb 2006 11:12:23 GMT <CRLF>

  20. HTTP отговор • Отговорът на заявката се състои от: • Статус ред – версия на HTTP протокола, статускод, обяснителен текст • Хедъри на отговора – предоставят метаданни • Тяло – съдържание на отговора (поискания ресурс) HTTP/<version> <status code> <status text> <headers> <empty line> <response body - requested resource>

  21. HTTP отговор – пример Пример за HTTP отговор от сървъра HTTP/1.1 200 OK Date: Sat, 10 Aug 2002 16:09:18 GMT Server: Apache/1.3.9 (Win32) Accept-Ranges: bytes Content-Length: 73 Content-Type: text/html <html> <head> <title> Test </title> </head> Test HTML page. </html> • Уеб сървърът връща поискания ресурс заедно с метаданни за него

  22. HTTP отговор – пример Пример за HTTP отговор с код на грешка: HTTP/1.1 404 Not Found Date: Sat, 10 Aug 2002 16:20:17 GMT Server: Apache/1.3.9 (Win32) Connection: close Content-Type: text/html <HTML><HEAD> <TITLE>404 Not Found</TITLE> </HEAD><BODY> <H1>Not Found</H1> The requested URL /img/nakov.gif was not found on this server.<P> <HR><ADDRESS>Apache/1.3.9 Server at test Port 80</ADDRESS> </BODY></HTML>

  23. Методи на HTTP заявката • По-важни методи на HTTP заявката: • GET: връща ресурс от сървъра, евентуално изпълнява програма или скрипт (при динамично съдържание) • HEAD: връща метаданните за даден ресурс (само хедърите на отговора) • POST: обновява ресурс, изпраща данни за обработка към програма или скрипт на сървъра

  24. HTTP кодове на отговора • Класове кодове на HTTP отговора: • 1xx: информация (напр., “100 Continue”) • 2xx: успех (напр., “200 OK”) • 3xx: пренасочване (напр., “304 Not Modified”, "302 Found") • 4xx: грешка при клиента (напр., “404 Not Found”) • 5xx: грешка на сървъра (напр., “503 Service Unavailable”) • "302 Found" се използва за пренасочване (redirect) на уеббраузъра към друг URL

  25. Cookies • Cookie (куки) • Малък обем данни изпратени от сървъра и съхранени локално в уеб браузъра • Включват се в хедъра на бъдещи заявки към същия уеб сървър Заявка Отговор Set-Cookie: XYZ Следваща заявка Cookie: XYZ

  26. Инфраструктурата на WWW и HTTP Въпроси?

More Related