SlideShare ist ein Scribd-Unternehmen logo
1 von 124
Downloaden Sie, um offline zu lesen
HTTP и приятели
    HTTP/1.1 200 OK
    Стефан: Кънев
    Николай: Бачийски
    Кога: 22.10.2008
защо изглеждам сънен
днес ще разберат как
           от това се получава




http://fmi.rails-bg.net/topics
това

(с готин transition)
http://
  първият компонент
Request
Response
http://fmi.rails-bg.net/topics


                                            fmi.rails-bg.net
 Пенчо




         TCP връзка към fmi.rails-bg.net на порт 80
nb@creep:~$ wget -S http://fmi.rails-bg/net/topics                      nb@creep:~$ wget -S http://fmi.rails-bg/net/topics
--2008-10-22 06:56:15-- http://fmi.rails-bg/net/topics                  --2008-10-22 06:56:15-- http://fmi.rails-bg/net/topics
Resolving fmi.rails-bg... ^C                                            Resolving fmi.rails-bg... ^C
nb@creep:~$ wget -S http://fmi.rails-bg.net/topics                      nb@creep:~$ wget -S http://fmi.rails-bg.net/topics
--2008-10-22 06:56:27-- http://fmi.rails-bg.net/topics                  --2008-10-22 06:56:27-- http://fmi.rails-bg.net/topics
Resolving fmi.rails-bg.net... 78.83.99.48                               Resolving fmi.rails-bg.net... 78.83.99.48
Connecting to fmi.rails-bg.net|78.83.99.48|:80... connected.            Connecting to fmi.rails-bg.net|78.83.99.48|:80... connected.
HTTP request sent, awaiting response...                                 HTTP request sent, awaiting response...
  HTTP/1.1 200 OK                                                         HTTP/1.1 200 OK
  Date: Wed, 22 Oct 2008 03:56:28 GMT                                     Date: Wed, 22 Oct 2008 03:56:28 GMT
  Server: Mongrel 1.1.5                                                   Server: Mongrel 1.1.5
  Status: 200 OK                                                          Status: 200 OK
  ETag: quot;d442009ec5c720c14ceb0d2be6e4ccf8quot;                                ETag: quot;d442009ec5c720c14ceb0d2be6e4ccf8quot;
  X-Runtime: 0.04557                                                      X-Runtime: 0.04557
  Content-Type: text/html; charset=utf-8                                  Content-Type: text/html; charset=utf-8
  Content-Length: 5048                                                    Content-Length: 5048
  Cache-Control: private, max-age=0, must-revalidate                      Cache-Control: private, max-age=0, must-revalidate
  Set-Cookie: _trane_session=ee47058b784246a19b9e0efc6762fc9d; path=/     Set-Cookie: _trane_session=ee47058b784246a19b9e0efc6762fc9d; path=/
  Via: 1.0 fmi.rails-bg.net                                               Via: 1.0 fmi.rails-bg.net
  Keep-Alive: timeout=15, max=100                         текстов         Keep-Alive: timeout=15, max=100
  Connection: Keep-Alive                                                  Connection: Keep-Alive

nb@creep:~$ wget -S http://fmi.rails-bg/net/topics                      nb@creep:~$ wget -S http://fmi.rails-bg/net/topics
--2008-10-22 06:56:15-- http://fmi.rails-bg/net/topics                  --2008-10-22 06:56:15-- http://fmi.rails-bg/net/topics
Resolving fmi.rails-bg... ^C                                            Resolving fmi.rails-bg... ^C
nb@creep:~$ wget -S http://fmi.rails-bg.net/topics                      nb@creep:~$ wget -S http://fmi.rails-bg.net/topics
--2008-10-22 06:56:27-- http://fmi.rails-bg.net/topics                  --2008-10-22 06:56:27-- http://fmi.rails-bg.net/topics
Resolving fmi.rails-bg.net... 78.83.99.48                               Resolving fmi.rails-bg.net... 78.83.99.48
Connecting to fmi.rails-bg.net|78.83.99.48|:80... connected.            Connecting to fmi.rails-bg.net|78.83.99.48|:80... connected.
HTTP request sent, awaiting response...                                 HTTP request sent, awaiting response...
  HTTP/1.1 200 OK                                                         HTTP/1.1 200 OK
  Date: Wed, 22 Oct 2008 03:56:28 GMT                                     Date: Wed, 22 Oct 2008 03:56:28 GMT
  Server: Mongrel 1.1.5                                                   Server: Mongrel 1.1.5
  Status: 200 OK                                                          Status: 200 OK
  ETag: quot;d442009ec5c720c14ceb0d2be6e4ccf8quot;                                ETag: quot;d442009ec5c720c14ceb0d2be6e4ccf8quot;
  X-Runtime: 0.04557                                                      X-Runtime: 0.04557
  Content-Type: text/html; charset=utf-8                                  Content-Type: text/html; charset=utf-8
  Content-Length: 5048                                                    Content-Length: 5048
  Cache-Control: private, max-age=0, must-revalidate                      Cache-Control: private, max-age=0, must-revalidate
  Set-Cookie: _trane_session=ee47058b784246a19b9e0efc6762fc9d; path=/     Set-Cookie: _trane_session=ee47058b784246a19b9e0efc6762fc9d; path=/
  Via: 1.0 fmi.rails-bg.net                                               Via: 1.0 fmi.rails-bg.net
  Keep-Alive: timeout=15, max=100                                         Keep-Alive: timeout=15, max=100
  Connection: Keep-Alive                                                  Connection: Keep-Alive
не е binary
Request
GET   /topics   ?   type=stupid   &   subtype=rockingchair
GET не е хубаво да
променя състоянието
POST
PUT
DELETE
глава / header
Тяло
И да не се сърдят
дамите :-)
глава / header
header-и на заявка
header-и на заявка




GET /topics HTTP/1.1
header-и на заявка




GET /topics HTTP/1.1
Host: fmi.rails-bg.net
header-и на заявка




GET /topics HTTP/1.1
Host: fmi.rails-bg.net
User-agent: Mozilla/5.0...
header-и на заявка




GET /topics HTTP/1.1
Host: fmi.rails-bg.net
User-agent: Mozilla/5.0...
Accept: text/html, application/xhtml+xml
header-и на заявка




GET /topics HTTP/1.1
Host: fmi.rails-bg.net
User-agent: Mozilla/5.0...
Accept: text/html, application/xhtml+xml
header-и на заявка

content-type за тялото
header-и на заявка

         content-type за тялото




POST /topics HTTP/1.1
header-и на заявка

         content-type за тялото




POST /topics HTTP/1.1
Host: fmi.rails-bg.net
header-и на заявка

               content-type за тялото




POST /topics HTTP/1.1
Host: fmi.rails-bg.net
User-agent: Mozilla/5.0...
header-и на заявка

                              content-type за тялото




POST /topics HTTP/1.1
Host: fmi.rails-bg.net
User-agent: Mozilla/5.0...
Accept: text/html, application/xhtml+xml
header-и на заявка

                              content-type за тялото




POST /topics HTTP/1.1
Host: fmi.rails-bg.net
User-agent: Mozilla/5.0...
Accept: text/html, application/xhtml+xml

Content-Type: application/x-www-form-encoded
HTTP/1.1 200 OK
Content-Type: text/html
Date: Wed, 22 Oct 2008 03:56:28 GMT
Content-Length: 5048
1xx Informational       2xx Successes      3xx Redirection
    4xx Client Error        5xx Server Error

200 OK
301 Moved Permanently
404 Not Found
500 Internal Server Error
Тяло
Тяло
POST /topics HTTP/1.1
POST /topics HTTP/1.1
Host: fmi.rails-bg.net
POST /topics HTTP/1.1
Host: fmi.rails-bg.net
Content-Type: application/x-www-form-encoded
POST /topics HTTP/1.1
Host: fmi.rails-bg.net
Content-Type: application/x-www-form-encoded


title=The Best Title&content=...
HTTP/1.1 200 OK
HTTP/1.1 200 OK
Content-Type: text/html
HTTP/1.1 200 OK
Content-Type: text/html
Date: Wed, 22 Oct 2008 03:56:28 GMT
HTTP/1.1 200 OK
Content-Type: text/html
Date: Wed, 22 Oct 2008 03:56:28 GMT
Content-Length: 5048
HTTP/1.1 200 OK
Content-Type: text/html
Date: Wed, 22 Oct 2008 03:56:28 GMT
Content-Length: 5048


<!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML...
HTTP/1.1 200 OK
Content-Type: text/html
Date: Wed, 22 Oct 2008 03:56:28 GMT
Content-Length: 5048


<!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML...
<html lang='bg' xml:lang='bg'...
HTTP/1.1 200 OK
Content-Type: text/html
Date: Wed, 22 Oct 2008 03:56:28 GMT
Content-Length: 5048


<!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML...
<html lang='bg' xml:lang='bg'...
  <head>
HTTP/1.1 200 OK
Content-Type: text/html
Date: Wed, 22 Oct 2008 03:56:28 GMT
Content-Length: 5048


<!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML...
<html lang='bg' xml:lang='bg'...
  <head>
    <title>Програмирани с Ruby и Rails...
State
        fmi.rails-bg.net
State
                fmi.rails-bg.net




   /topics




10:01
State
                       fmi.rails-bg.net




   /topics    /tasks




10:01        10:02
State
                                   fmi.rails-bg.net




   /topics    /tasks
                       /topics/5




10:01        10:02           10:03
State
                                   fmi.rails-bg.net




   /topics    /tasks                     /tasks/1
                       /topics/5




10:01        10:02           10:03        10:04
State less
                                   fmi.rails-bg.net




   /topics    /tasks                     /tasks/1
                       /topics/5




10:01        10:02           10:03        10:04
Cookies
Cookies
HTTP/1.1 200 OK
Content-Type: text/html
Set-Cookie: secret=ndrznzvr
Cookies
HTTP/1.1 200 OK
Content-Type: text/html
Set-Cookie: secret=ndrznzvr
Cookies
HTTP/1.1 200 OK
Content-Type: text/html       GET /baba HTTP/1.1
Set-Cookie: secret=ndrznzvr   Host: fmi.rails-bg.net
                              Cookie: secret=ndrznzvr
Cookies
HTTP/1.1 200 OK
Content-Type: text/html       GET /baba HTTP/1.1
Set-Cookie: secret=ndrznzvr   Host: fmi.rails-bg.net
                              Cookie: secret=ndrznzvr
</http>
Content-Type: text/html




<!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML...
<html lang='bg' xml:lang='bg'...
  <head>
    <title>Програмирани с Ruby и Rails...
Content-Type: text/html




        HTML
<!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML...
<html lang='bg' xml:lang='bg'...
  <head>
    <title>Програмирани с Ruby и Rails...
Content-Type: text/html




XHTML
<!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML...
<html lang='bg' xml:lang='bg'...
  <head>
    <title>Програмирани с Ruby и Rails...
Цел:
съдържание
  на страницата
  (не изгледа, не поведението)
Markup = Маркиране   ± език
Markup = Маркиране     ± език




 <чушка цвят=quot;жълтquot;>
Markup = Маркиране     ± език




 <чушка цвят=quot;жълтquot;>




      </чушка>
Markup = Маркиране     ± език




 <чушка цвят=quot;жълтquot;>




      </чушка>
Смисъл,
структура
<!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML 1.0 Strict//ENquot; quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdquot;>


<html>
  <head>
    ?
  </head>
  <body>
    ?
  </body>
</html>
<head>
  <title>Моето любимо коте</title>
  <meta name=”generator” content=”моите две ръце” />
</head>
<body>
  <h1>Моето коте &mdash; Кънчо</h1>
  <p>Здрасти, това е страницата, поветена на моето любимо
коте. Тук ще намерите много информация, снимки и връзки за
него.</p>
  <ul class=quot;menuquot;>
    <li><a href=quot;/bioquot;>Биография на Кънчо</a></li>
    <li><a href=quot;/photosquot;>Снимки</a></li>
  </ul>
  <img src=quot;/kuncho_best.jpgquot; alt=quot;Кънчо -- най-красивquot;/>
</body>
Is YOUR HTML valid?
http://www.w3.org/TR/html401/   http://validator.w3.org/   http://www.w3.org/TR/xhtml1/
Сам е скучно, искам в
          група




Сам е скучно
И таговете са по-добре
с компания
<div>
    каквито си искате тагове
</div>

<span>
    почти каквито искате
</span>
Кой съм аз и за какво
се боря? Как да ме
намериш?
Разпознаване
    <div id=quot;footerquot;>
    <ul class=quot;menuquot;>
<div class=quot;menu replyquot;>

  атрибути за всички тагове
Формуляри
<form action=quot;/topicsquot; method=quot;postquot;>

  <label for=quot;fullnamequot;>Full name</label>
  <input name=quot;fullnamequot; id=quot;fullnamequot; type=quot;textquot; />

  <input name=quot;tickquot; type=quot;checkboxquot; checked=quot;checkedquot; />

  <textarea name=quot;freetextquot;>Feed me!</textarea>

  <select name=quot;projectquot;>
    <option value=quot;easyquot;>The hard one</option>
    <option value=quot;hardquot; selected=quot;selectedquot;>The easy one</option>
  </select>

  <input type=quot;submitquot; value=quot;Run, Lolaquot;>

</form>
За някои е важно
всичко да е красиво
Дори отвътре да е
развалено
Красота ⊂ HTML + CSS
       В този курс ще се
       интересуваме от
       вътрешната красота,
       но ако все пак ви
       интересува
Стандартен изглед на някои HTML
             тагове

                     <h1>,
<h2>
                        <strong>
                          <em>
                       •<li></li>
                           <a>

                           <p>

     <div>,
<p>,
<form>
с
кутийка
и
нов
ред
около
тях
       <a>,
<span>,
<strong>,
<img>
един
след
друг
CSS
Cascading Style Sheets
    http://www.w3.org/Style/CSS/

     http://w3schools.com/css/
         http://jigsaw.w3.org/css-validator/
Как си пазим съдържанието,
което трябва да структурираме в
            HTML?
Опитвали сте се сами
да мислите файлови
формати и интерфейс
за достъп до данните
си?
Релационен модел
Котки
релация ≈ таблица
Котки
релация ≈ таблица




                    ID      Име        Порода

                    1    Macorana3f   Сомалийска

                    2    Стрептокок    Сиамска

                    3     Шрапнел     Сомалийска

                    4      Рекса      Мейн Куун
Котки
релация ≈ таблица
                         Първичен ключ/PK




                    ID                      Име      Порода

                    1                 Macorana3f    Сомалийска

                    2                Стрептокок      Сиамска

                    3                  Шрапнел      Сомалийска

                    4                       Рекса   Мейн Куун
Котки
      релация ≈ таблица
                               Първичен ключ/PK




                          ID                      Име      Порода

Запис/ред                 1                 Macorana3f    Сомалийска

                          2                Стрептокок      Сиамска

                          3                  Шрапнел      Сомалийска

                          4                       Рекса   Мейн Куун
Нормализация
           ≈
липса на повторения на
         данни
Пак далеч от теорията
ID      Име         Порода

1    Macorana3f   Сомалийска

2    Стрептокок     Сиамска

3     Шрапнел     Сомалийска

4      Рекса       Мейн Куун
Котки




        Породи
Котки
 ID      Име       ID на Порода

  1   Macorana3f        2
  2   Стрептокок        1
  3    Шрапнел          2
  4     Рекса           3




                              Породи
Котки
 ID      Име       ID на Порода

  1   Macorana3f        2
  2   Стрептокок        1
  3    Шрапнел          2
  4     Рекса           3


                                  ID    Порода
                                   1    Сиамска
                                   2   Сомалийска
                                   3   Мейн Куун

                              Породи
Котки
  ID        Име       ID на Порода

   1     Macorana3f        2
   2     Стрептокок        1
   3      Шрапнел          2
   4       Рекса           3

Котка към Порода,
 много към едно                      ID    Порода
                                      1    Сиамска
                                      2   Сомалийска
                                      3   Мейн Куун

                                 Породи
Котки
     ID        Име        ID на Порода

      1     Macorana3f         2
      2     Стрептокок         1
      3      Шрапнел           2
      4       Рекса            3

  Котка към Порода,
   много към едно                        ID    Порода
                                          1    Сиамска
От всяка порода може да                   2   Сомалийска
  има много котки, една                   3   Мейн Куун
 котка е от една порода
                                     Породи
Мелези?
Котка към Порода,
 много към много
Котка към Порода,
  много към много

От всяка порода може да има
много котки, една котка може
   да е от много породи
Котки
 ID       Име
  1    Macorana3f
  2    Стрептокок
  3     Шрапнел
  4      Рекса




 Котка към Порода,
  много към много

От всяка порода може да има
много котки, една котка може
   да е от много породи
Котки
 ID       Име
  1    Macorana3f
  2    Стрептокок
  3     Шрапнел
  4      Рекса




 Котка към Порода,
  много към много              ID    Порода
                                1    Сиамска
                                2   Сомалийска
От всяка порода може да има     3   Мейн Куун
много котки, една котка може
   да е от много породи         Породи
Котки към породи
  Котки
                                         ID на     ID на
 ID       Име                   ID
                                         котка    порода
  1    Macorana3f               1         1          1
                                2         1          2
  2    Стрептокок
                                3         2          1
  3     Шрапнел                 4         3          2
  4      Рекса                  5         4          4




 Котка към Порода,
  много към много                   ID            Порода
                                     1            Сиамска
                                     2           Сомалийска
От всяка порода може да има          3           Мейн Куун
много котки, една котка може
   да е от много породи              Породи
SQL
Structured Query Language
SELECT * FROM kittens

       SELECT * FROM kittens WHERE age < 2

SELECT id, name FROM kittens WHERE name LIKE ‘Brr%’
UPDATE kittens SET age = age +1 WHERE name =
               ‘Birthday Kitten’
INSERT INTO kittens (id, name, age) VALUES (7, ‘Pinko’, 1)
     INSERT INTO kittens (name) VALUES (‘Pinko’)
NULL
NULL
SELECT NULL + 2
    →NULL
Задача: име и порода за всяка
            котка?
    Заявка върху повече от една таблица?
ID         Име        ID на Порода

  1      Macorana3f         2
  2      Стрептокок         1
  3       Шрапнел           2
  4        Рекса            3



Задача: име и порода за всяка
            котка?
      Заявка върху повече от една таблица?
ID         Име        ID на Порода   ID      Порода
  1      Macorana3f         2          1      Сиамска
  2      Стрептокок         1          2     Сомалийска
  3       Шрапнел           2          3     Мейн Куун
  4        Рекса            3



Задача: име и порода за всяка
            котка?
      Заявка върху повече от една таблица?
JOIN
декартово произведение на две таблици
JOIN
  декартово произведение на две таблици
ID на котка      Име       ID на Порода   ID на порода      Порода

     1        Macorana3f        2              1          Сиамска
     2        Стрептокок        1              2         Сомалийска
     3         Шрапнел          2              3         Мейн Куун
     4          Рекса           3              1          Сиамска
     1        Macorana3f        2              2         Сомалийска
     2        Стрептокок        1              3         Мейн Куун
     3         Шрапнел          2              1          Сиамска
     4          Рекса           3              2         Сомалийска
     1        Macorana3f        2              3         Мейн Куун
     2        Стрептокок        1              1          Сиамска
     3         Шрапнел          2              2         Сомалийска
     4          Рекса           3              3         Мейн Куун
When a bike is stolen,
   a fairy dies

Weitere ähnliche Inhalte

Was ist angesagt?

Memento: TimeGates, TimeBundles, and TimeMaps
Memento: TimeGates, TimeBundles, and TimeMapsMemento: TimeGates, TimeBundles, and TimeMaps
Memento: TimeGates, TimeBundles, and TimeMapsMichael Nelson
 
From zero to almost rails in about a million slides...
From zero to almost rails in about a million slides...From zero to almost rails in about a million slides...
From zero to almost rails in about a million slides...david_e_worth
 
Your Presentation Name Here
Your Presentation Name HereYour Presentation Name Here
Your Presentation Name HereFreedSoftwares
 
Building an Automated Behavioral Malware Analysis Environment using Free and ...
Building an Automated Behavioral Malware Analysis Environment using Free and ...Building an Automated Behavioral Malware Analysis Environment using Free and ...
Building an Automated Behavioral Malware Analysis Environment using Free and ...Jim Clausing
 
How IT works - Joomladay Germany 2014
How IT works - Joomladay Germany 2014How IT works - Joomladay Germany 2014
How IT works - Joomladay Germany 2014Peter Martin
 
how to use fiddler (Ver eng)
how to use fiddler (Ver eng)how to use fiddler (Ver eng)
how to use fiddler (Ver eng)용진 조
 
1تقرير
1تقرير1تقرير
1تقريرtech1010
 

Was ist angesagt? (12)

Background noise of the Internet
Background noise of the InternetBackground noise of the Internet
Background noise of the Internet
 
CloudKit
CloudKitCloudKit
CloudKit
 
Memento: TimeGates, TimeBundles, and TimeMaps
Memento: TimeGates, TimeBundles, and TimeMapsMemento: TimeGates, TimeBundles, and TimeMaps
Memento: TimeGates, TimeBundles, and TimeMaps
 
From zero to almost rails in about a million slides...
From zero to almost rails in about a million slides...From zero to almost rails in about a million slides...
From zero to almost rails in about a million slides...
 
Your Presentation Name Here
Your Presentation Name HereYour Presentation Name Here
Your Presentation Name Here
 
Client–server model
Client–server modelClient–server model
Client–server model
 
Building an Automated Behavioral Malware Analysis Environment using Free and ...
Building an Automated Behavioral Malware Analysis Environment using Free and ...Building an Automated Behavioral Malware Analysis Environment using Free and ...
Building an Automated Behavioral Malware Analysis Environment using Free and ...
 
How IT works - Joomladay Germany 2014
How IT works - Joomladay Germany 2014How IT works - Joomladay Germany 2014
How IT works - Joomladay Germany 2014
 
Magnet links in firefox [solved]
Magnet links in firefox [solved]Magnet links in firefox [solved]
Magnet links in firefox [solved]
 
how to use fiddler (Ver eng)
how to use fiddler (Ver eng)how to use fiddler (Ver eng)
how to use fiddler (Ver eng)
 
How Web Pages Work
How Web Pages Work How Web Pages Work
How Web Pages Work
 
1تقرير
1تقرير1تقرير
1تقرير
 

Andere mochten auch

Andere mochten auch (11)

1. Въведение в Ruby
1. Въведение в Ruby1. Въведение в Ruby
1. Въведение в Ruby
 
0. За курса, Ruby и Rails
0. За курса, Ruby и Rails0. За курса, Ruby и Rails
0. За курса, Ruby и Rails
 
Debugging Habits
Debugging HabitsDebugging Habits
Debugging Habits
 
Защо Ruby on Rails
Защо Ruby on RailsЗащо Ruby on Rails
Защо Ruby on Rails
 
Windows 7 Developer Overview
Windows 7 Developer OverviewWindows 7 Developer Overview
Windows 7 Developer Overview
 
Nature of Chase
Nature of ChaseNature of Chase
Nature of Chase
 
Informatiethema's: naar het buitenland
Informatiethema's: naar het buitenlandInformatiethema's: naar het buitenland
Informatiethema's: naar het buitenland
 
Doorlichting JIPS 2009
Doorlichting JIPS 2009Doorlichting JIPS 2009
Doorlichting JIPS 2009
 
Silverlight 2
Silverlight 2Silverlight 2
Silverlight 2
 
Ecophon - Akusto - FR
Ecophon - Akusto - FREcophon - Akusto - FR
Ecophon - Akusto - FR
 
Presentación estructura
Presentación estructuraPresentación estructura
Presentación estructura
 

Ähnlich wie 5. HTTP и приятели

Making the Most of HTTP In Your Apps
Making the Most of HTTP In Your AppsMaking the Most of HTTP In Your Apps
Making the Most of HTTP In Your AppsBen Ramsey
 
IBM dwLive, "Internet & HTTP - 잃어버린 패킷을 찾아서..."
IBM dwLive, "Internet & HTTP - 잃어버린 패킷을 찾아서..."IBM dwLive, "Internet & HTTP - 잃어버린 패킷을 찾아서..."
IBM dwLive, "Internet & HTTP - 잃어버린 패킷을 찾아서..."Dongwook Lee
 
Frontend Performance - Web Entwickler Forum
Frontend Performance - Web Entwickler ForumFrontend Performance - Web Entwickler Forum
Frontend Performance - Web Entwickler ForumPierre Spring
 
ReST-ful Resource Management
ReST-ful Resource ManagementReST-ful Resource Management
ReST-ful Resource ManagementJoe Davis
 
DEF CON 27- ALBINOWAX - http desync attacks
DEF CON 27- ALBINOWAX - http desync attacksDEF CON 27- ALBINOWAX - http desync attacks
DEF CON 27- ALBINOWAX - http desync attacksFelipe Prado
 
Speedy App: Frontend Performance Considerations
Speedy App: Frontend Performance ConsiderationsSpeedy App: Frontend Performance Considerations
Speedy App: Frontend Performance ConsiderationsPierre Spring
 
HTTP colon slash slash: the end of the road?
HTTP colon slash slash: the end of the road?HTTP colon slash slash: the end of the road?
HTTP colon slash slash: the end of the road?Alessandro Nadalin
 
20190516 web security-basic
20190516 web security-basic20190516 web security-basic
20190516 web security-basicMksYi
 
Developing cacheable PHP applications - PHPLimburgBE 2018
Developing cacheable PHP applications - PHPLimburgBE 2018Developing cacheable PHP applications - PHPLimburgBE 2018
Developing cacheable PHP applications - PHPLimburgBE 2018Thijs Feryn
 
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc  2015 HTTP 1, HTTP 2 and folksDevoxx Maroc  2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folksNicolas Martignole
 
Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Arun Gupta
 
HTTP/2: What no one is telling you
HTTP/2: What no one is telling youHTTP/2: What no one is telling you
HTTP/2: What no one is telling youFastly
 
Computer Networks: An Introduction
Computer Networks: An IntroductionComputer Networks: An Introduction
Computer Networks: An Introductionsanand0
 
HTTP/2 and Java: Current Status
HTTP/2 and Java: Current StatusHTTP/2 and Java: Current Status
HTTP/2 and Java: Current StatusSimone Bordet
 
Developing cacheable PHP applications - Confoo 2018
Developing cacheable PHP applications - Confoo 2018Developing cacheable PHP applications - Confoo 2018
Developing cacheable PHP applications - Confoo 2018Thijs Feryn
 
Interactive web. O rly?
Interactive web. O rly?Interactive web. O rly?
Interactive web. O rly?timbc
 
High Performance Websites
High Performance WebsitesHigh Performance Websites
High Performance WebsitesParham
 

Ähnlich wie 5. HTTP и приятели (20)

Making the Most of HTTP In Your Apps
Making the Most of HTTP In Your AppsMaking the Most of HTTP In Your Apps
Making the Most of HTTP In Your Apps
 
IBM dwLive, "Internet & HTTP - 잃어버린 패킷을 찾아서..."
IBM dwLive, "Internet & HTTP - 잃어버린 패킷을 찾아서..."IBM dwLive, "Internet & HTTP - 잃어버린 패킷을 찾아서..."
IBM dwLive, "Internet & HTTP - 잃어버린 패킷을 찾아서..."
 
Frontend Performance - Web Entwickler Forum
Frontend Performance - Web Entwickler ForumFrontend Performance - Web Entwickler Forum
Frontend Performance - Web Entwickler Forum
 
ReST-ful Resource Management
ReST-ful Resource ManagementReST-ful Resource Management
ReST-ful Resource Management
 
DEF CON 27- ALBINOWAX - http desync attacks
DEF CON 27- ALBINOWAX - http desync attacksDEF CON 27- ALBINOWAX - http desync attacks
DEF CON 27- ALBINOWAX - http desync attacks
 
Speedy App: Frontend Performance Considerations
Speedy App: Frontend Performance ConsiderationsSpeedy App: Frontend Performance Considerations
Speedy App: Frontend Performance Considerations
 
HTTP colon slash slash: the end of the road?
HTTP colon slash slash: the end of the road?HTTP colon slash slash: the end of the road?
HTTP colon slash slash: the end of the road?
 
20190516 web security-basic
20190516 web security-basic20190516 web security-basic
20190516 web security-basic
 
Caching on the Edge
Caching on the EdgeCaching on the Edge
Caching on the Edge
 
Developing cacheable PHP applications - PHPLimburgBE 2018
Developing cacheable PHP applications - PHPLimburgBE 2018Developing cacheable PHP applications - PHPLimburgBE 2018
Developing cacheable PHP applications - PHPLimburgBE 2018
 
WWW and HTTP
WWW and HTTPWWW and HTTP
WWW and HTTP
 
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc  2015 HTTP 1, HTTP 2 and folksDevoxx Maroc  2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folks
 
Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014
 
HTTP/2: What no one is telling you
HTTP/2: What no one is telling youHTTP/2: What no one is telling you
HTTP/2: What no one is telling you
 
Computer Networks: An Introduction
Computer Networks: An IntroductionComputer Networks: An Introduction
Computer Networks: An Introduction
 
Speed = $$$
Speed = $$$Speed = $$$
Speed = $$$
 
HTTP/2 and Java: Current Status
HTTP/2 and Java: Current StatusHTTP/2 and Java: Current Status
HTTP/2 and Java: Current Status
 
Developing cacheable PHP applications - Confoo 2018
Developing cacheable PHP applications - Confoo 2018Developing cacheable PHP applications - Confoo 2018
Developing cacheable PHP applications - Confoo 2018
 
Interactive web. O rly?
Interactive web. O rly?Interactive web. O rly?
Interactive web. O rly?
 
High Performance Websites
High Performance WebsitesHigh Performance Websites
High Performance Websites
 

Mehr von Stefan Kanev

Как блогът ми ме направи по-добър професионалист
Как блогът ми ме направи по-добър професионалистКак блогът ми ме направи по-добър професионалист
Как блогът ми ме направи по-добър професионалистStefan Kanev
 
Щастливият програмист 2.0
Щастливият програмист 2.0Щастливият програмист 2.0
Щастливият програмист 2.0Stefan Kanev
 
Пак ли този Rails?
Пак ли този Rails?Пак ли този Rails?
Пак ли този Rails?Stefan Kanev
 
The Happy Programmer
The Happy ProgrammerThe Happy Programmer
The Happy ProgrammerStefan Kanev
 
ФМИ Python: Agile & Friends
ФМИ Python: Agile & FriendsФМИ Python: Agile & Friends
ФМИ Python: Agile & FriendsStefan Kanev
 
Behavior-Driven Development с RSpec и Cucumber
Behavior-Driven Development с RSpec и CucumberBehavior-Driven Development с RSpec и Cucumber
Behavior-Driven Development с RSpec и CucumberStefan Kanev
 
Test-Driven Development + Refactoring
Test-Driven Development + RefactoringTest-Driven Development + Refactoring
Test-Driven Development + RefactoringStefan Kanev
 
4. Метапрограмиране
4. Метапрограмиране4. Метапрограмиране
4. МетапрограмиранеStefan Kanev
 
3. Обекти и класове
3. Обекти и класове3. Обекти и класове
3. Обекти и класовеStefan Kanev
 
2. Функционални Закачки
2. Функционални Закачки2. Функционални Закачки
2. Функционални ЗакачкиStefan Kanev
 

Mehr von Stefan Kanev (14)

Ruby 0 2012
Ruby 0 2012Ruby 0 2012
Ruby 0 2012
 
Ruby 0
Ruby 0Ruby 0
Ruby 0
 
Защо MongoDB?
Защо MongoDB?Защо MongoDB?
Защо MongoDB?
 
Как блогът ми ме направи по-добър професионалист
Как блогът ми ме направи по-добър професионалистКак блогът ми ме направи по-добър професионалист
Как блогът ми ме направи по-добър професионалист
 
Щастливият програмист 2.0
Щастливият програмист 2.0Щастливият програмист 2.0
Щастливият програмист 2.0
 
Пак ли този Rails?
Пак ли този Rails?Пак ли този Rails?
Пак ли този Rails?
 
The Happy Programmer
The Happy ProgrammerThe Happy Programmer
The Happy Programmer
 
ФМИ Python: Agile & Friends
ФМИ Python: Agile & FriendsФМИ Python: Agile & Friends
ФМИ Python: Agile & Friends
 
Behavior-Driven Development с RSpec и Cucumber
Behavior-Driven Development с RSpec и CucumberBehavior-Driven Development с RSpec и Cucumber
Behavior-Driven Development с RSpec и Cucumber
 
Test-Driven Development + Refactoring
Test-Driven Development + RefactoringTest-Driven Development + Refactoring
Test-Driven Development + Refactoring
 
за Ruby
за Rubyза Ruby
за Ruby
 
4. Метапрограмиране
4. Метапрограмиране4. Метапрограмиране
4. Метапрограмиране
 
3. Обекти и класове
3. Обекти и класове3. Обекти и класове
3. Обекти и класове
 
2. Функционални Закачки
2. Функционални Закачки2. Функционални Закачки
2. Функционални Закачки
 

Kürzlich hochgeladen

WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneUiPathCommunity
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - AvrilIvanti
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfROWELL MARQUINA
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 

Kürzlich hochgeladen (20)

WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyone
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - Avril
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdf
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 

5. HTTP и приятели

  • 1. HTTP и приятели HTTP/1.1 200 OK Стефан: Кънев Николай: Бачийски Кога: 22.10.2008
  • 3. днес ще разберат как от това се получава http://fmi.rails-bg.net/topics
  • 5. http:// първият компонент
  • 8. http://fmi.rails-bg.net/topics fmi.rails-bg.net Пенчо TCP връзка към fmi.rails-bg.net на порт 80
  • 9. nb@creep:~$ wget -S http://fmi.rails-bg/net/topics nb@creep:~$ wget -S http://fmi.rails-bg/net/topics --2008-10-22 06:56:15-- http://fmi.rails-bg/net/topics --2008-10-22 06:56:15-- http://fmi.rails-bg/net/topics Resolving fmi.rails-bg... ^C Resolving fmi.rails-bg... ^C nb@creep:~$ wget -S http://fmi.rails-bg.net/topics nb@creep:~$ wget -S http://fmi.rails-bg.net/topics --2008-10-22 06:56:27-- http://fmi.rails-bg.net/topics --2008-10-22 06:56:27-- http://fmi.rails-bg.net/topics Resolving fmi.rails-bg.net... 78.83.99.48 Resolving fmi.rails-bg.net... 78.83.99.48 Connecting to fmi.rails-bg.net|78.83.99.48|:80... connected. Connecting to fmi.rails-bg.net|78.83.99.48|:80... connected. HTTP request sent, awaiting response... HTTP request sent, awaiting response... HTTP/1.1 200 OK HTTP/1.1 200 OK Date: Wed, 22 Oct 2008 03:56:28 GMT Date: Wed, 22 Oct 2008 03:56:28 GMT Server: Mongrel 1.1.5 Server: Mongrel 1.1.5 Status: 200 OK Status: 200 OK ETag: quot;d442009ec5c720c14ceb0d2be6e4ccf8quot; ETag: quot;d442009ec5c720c14ceb0d2be6e4ccf8quot; X-Runtime: 0.04557 X-Runtime: 0.04557 Content-Type: text/html; charset=utf-8 Content-Type: text/html; charset=utf-8 Content-Length: 5048 Content-Length: 5048 Cache-Control: private, max-age=0, must-revalidate Cache-Control: private, max-age=0, must-revalidate Set-Cookie: _trane_session=ee47058b784246a19b9e0efc6762fc9d; path=/ Set-Cookie: _trane_session=ee47058b784246a19b9e0efc6762fc9d; path=/ Via: 1.0 fmi.rails-bg.net Via: 1.0 fmi.rails-bg.net Keep-Alive: timeout=15, max=100 текстов Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Connection: Keep-Alive nb@creep:~$ wget -S http://fmi.rails-bg/net/topics nb@creep:~$ wget -S http://fmi.rails-bg/net/topics --2008-10-22 06:56:15-- http://fmi.rails-bg/net/topics --2008-10-22 06:56:15-- http://fmi.rails-bg/net/topics Resolving fmi.rails-bg... ^C Resolving fmi.rails-bg... ^C nb@creep:~$ wget -S http://fmi.rails-bg.net/topics nb@creep:~$ wget -S http://fmi.rails-bg.net/topics --2008-10-22 06:56:27-- http://fmi.rails-bg.net/topics --2008-10-22 06:56:27-- http://fmi.rails-bg.net/topics Resolving fmi.rails-bg.net... 78.83.99.48 Resolving fmi.rails-bg.net... 78.83.99.48 Connecting to fmi.rails-bg.net|78.83.99.48|:80... connected. Connecting to fmi.rails-bg.net|78.83.99.48|:80... connected. HTTP request sent, awaiting response... HTTP request sent, awaiting response... HTTP/1.1 200 OK HTTP/1.1 200 OK Date: Wed, 22 Oct 2008 03:56:28 GMT Date: Wed, 22 Oct 2008 03:56:28 GMT Server: Mongrel 1.1.5 Server: Mongrel 1.1.5 Status: 200 OK Status: 200 OK ETag: quot;d442009ec5c720c14ceb0d2be6e4ccf8quot; ETag: quot;d442009ec5c720c14ceb0d2be6e4ccf8quot; X-Runtime: 0.04557 X-Runtime: 0.04557 Content-Type: text/html; charset=utf-8 Content-Type: text/html; charset=utf-8 Content-Length: 5048 Content-Length: 5048 Cache-Control: private, max-age=0, must-revalidate Cache-Control: private, max-age=0, must-revalidate Set-Cookie: _trane_session=ee47058b784246a19b9e0efc6762fc9d; path=/ Set-Cookie: _trane_session=ee47058b784246a19b9e0efc6762fc9d; path=/ Via: 1.0 fmi.rails-bg.net Via: 1.0 fmi.rails-bg.net Keep-Alive: timeout=15, max=100 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Connection: Keep-Alive
  • 12. GET /topics ? type=stupid & subtype=rockingchair
  • 13. GET не е хубаво да променя състоянието
  • 14. POST
  • 15. PUT
  • 19. И да не се сърдят дамите :-)
  • 23. header-и на заявка GET /topics HTTP/1.1 Host: fmi.rails-bg.net
  • 24. header-и на заявка GET /topics HTTP/1.1 Host: fmi.rails-bg.net User-agent: Mozilla/5.0...
  • 25. header-и на заявка GET /topics HTTP/1.1 Host: fmi.rails-bg.net User-agent: Mozilla/5.0... Accept: text/html, application/xhtml+xml
  • 26. header-и на заявка GET /topics HTTP/1.1 Host: fmi.rails-bg.net User-agent: Mozilla/5.0... Accept: text/html, application/xhtml+xml
  • 28. header-и на заявка content-type за тялото POST /topics HTTP/1.1
  • 29. header-и на заявка content-type за тялото POST /topics HTTP/1.1 Host: fmi.rails-bg.net
  • 30. header-и на заявка content-type за тялото POST /topics HTTP/1.1 Host: fmi.rails-bg.net User-agent: Mozilla/5.0...
  • 31. header-и на заявка content-type за тялото POST /topics HTTP/1.1 Host: fmi.rails-bg.net User-agent: Mozilla/5.0... Accept: text/html, application/xhtml+xml
  • 32. header-и на заявка content-type за тялото POST /topics HTTP/1.1 Host: fmi.rails-bg.net User-agent: Mozilla/5.0... Accept: text/html, application/xhtml+xml Content-Type: application/x-www-form-encoded
  • 33. HTTP/1.1 200 OK Content-Type: text/html Date: Wed, 22 Oct 2008 03:56:28 GMT Content-Length: 5048
  • 34. 1xx Informational 2xx Successes 3xx Redirection 4xx Client Error 5xx Server Error 200 OK 301 Moved Permanently 404 Not Found 500 Internal Server Error
  • 37.
  • 39. POST /topics HTTP/1.1 Host: fmi.rails-bg.net
  • 40. POST /topics HTTP/1.1 Host: fmi.rails-bg.net Content-Type: application/x-www-form-encoded
  • 41. POST /topics HTTP/1.1 Host: fmi.rails-bg.net Content-Type: application/x-www-form-encoded title=The Best Title&content=...
  • 42.
  • 45. HTTP/1.1 200 OK Content-Type: text/html Date: Wed, 22 Oct 2008 03:56:28 GMT
  • 46. HTTP/1.1 200 OK Content-Type: text/html Date: Wed, 22 Oct 2008 03:56:28 GMT Content-Length: 5048
  • 47. HTTP/1.1 200 OK Content-Type: text/html Date: Wed, 22 Oct 2008 03:56:28 GMT Content-Length: 5048 <!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML...
  • 48. HTTP/1.1 200 OK Content-Type: text/html Date: Wed, 22 Oct 2008 03:56:28 GMT Content-Length: 5048 <!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML... <html lang='bg' xml:lang='bg'...
  • 49. HTTP/1.1 200 OK Content-Type: text/html Date: Wed, 22 Oct 2008 03:56:28 GMT Content-Length: 5048 <!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML... <html lang='bg' xml:lang='bg'... <head>
  • 50. HTTP/1.1 200 OK Content-Type: text/html Date: Wed, 22 Oct 2008 03:56:28 GMT Content-Length: 5048 <!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML... <html lang='bg' xml:lang='bg'... <head> <title>Програмирани с Ruby и Rails...
  • 51. State fmi.rails-bg.net
  • 52. State fmi.rails-bg.net /topics 10:01
  • 53. State fmi.rails-bg.net /topics /tasks 10:01 10:02
  • 54. State fmi.rails-bg.net /topics /tasks /topics/5 10:01 10:02 10:03
  • 55. State fmi.rails-bg.net /topics /tasks /tasks/1 /topics/5 10:01 10:02 10:03 10:04
  • 56. State less fmi.rails-bg.net /topics /tasks /tasks/1 /topics/5 10:01 10:02 10:03 10:04
  • 57.
  • 59. Cookies HTTP/1.1 200 OK Content-Type: text/html Set-Cookie: secret=ndrznzvr
  • 60. Cookies HTTP/1.1 200 OK Content-Type: text/html Set-Cookie: secret=ndrznzvr
  • 61. Cookies HTTP/1.1 200 OK Content-Type: text/html GET /baba HTTP/1.1 Set-Cookie: secret=ndrznzvr Host: fmi.rails-bg.net Cookie: secret=ndrznzvr
  • 62. Cookies HTTP/1.1 200 OK Content-Type: text/html GET /baba HTTP/1.1 Set-Cookie: secret=ndrznzvr Host: fmi.rails-bg.net Cookie: secret=ndrznzvr
  • 64. Content-Type: text/html <!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML... <html lang='bg' xml:lang='bg'... <head> <title>Програмирани с Ruby и Rails...
  • 65. Content-Type: text/html HTML <!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML... <html lang='bg' xml:lang='bg'... <head> <title>Програмирани с Ruby и Rails...
  • 66. Content-Type: text/html XHTML <!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML... <html lang='bg' xml:lang='bg'... <head> <title>Програмирани с Ruby и Rails...
  • 67. Цел: съдържание на страницата (не изгледа, не поведението)
  • 69. Markup = Маркиране ± език <чушка цвят=quot;жълтquot;>
  • 70. Markup = Маркиране ± език <чушка цвят=quot;жълтquot;> </чушка>
  • 71. Markup = Маркиране ± език <чушка цвят=quot;жълтquot;> </чушка>
  • 73. <!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML 1.0 Strict//ENquot; quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdquot;> <html> <head> ? </head> <body> ? </body> </html>
  • 74. <head> <title>Моето любимо коте</title> <meta name=”generator” content=”моите две ръце” /> </head>
  • 75. <body> <h1>Моето коте &mdash; Кънчо</h1> <p>Здрасти, това е страницата, поветена на моето любимо коте. Тук ще намерите много информация, снимки и връзки за него.</p> <ul class=quot;menuquot;> <li><a href=quot;/bioquot;>Биография на Кънчо</a></li> <li><a href=quot;/photosquot;>Снимки</a></li> </ul> <img src=quot;/kuncho_best.jpgquot; alt=quot;Кънчо -- най-красивquot;/> </body>
  • 76. Is YOUR HTML valid? http://www.w3.org/TR/html401/ http://validator.w3.org/ http://www.w3.org/TR/xhtml1/
  • 77. Сам е скучно, искам в група Сам е скучно
  • 78. И таговете са по-добре с компания
  • 79. <div> каквито си искате тагове </div> <span> почти каквито искате </span>
  • 80. Кой съм аз и за какво се боря? Как да ме намериш?
  • 81. Разпознаване <div id=quot;footerquot;> <ul class=quot;menuquot;> <div class=quot;menu replyquot;> атрибути за всички тагове
  • 82.
  • 83. Формуляри <form action=quot;/topicsquot; method=quot;postquot;> <label for=quot;fullnamequot;>Full name</label> <input name=quot;fullnamequot; id=quot;fullnamequot; type=quot;textquot; /> <input name=quot;tickquot; type=quot;checkboxquot; checked=quot;checkedquot; /> <textarea name=quot;freetextquot;>Feed me!</textarea> <select name=quot;projectquot;> <option value=quot;easyquot;>The hard one</option> <option value=quot;hardquot; selected=quot;selectedquot;>The easy one</option> </select> <input type=quot;submitquot; value=quot;Run, Lolaquot;> </form>
  • 84. За някои е важно всичко да е красиво
  • 85. Дори отвътре да е развалено
  • 86. Красота ⊂ HTML + CSS В този курс ще се интересуваме от вътрешната красота, но ако все пак ви интересува
  • 87. Стандартен изглед на някои HTML тагове <h1>,
<h2> <strong> <em> •<li></li> <a> <p> <div>,
<p>,
<form>
с
кутийка
и
нов
ред
около
тях <a>,
<span>,
<strong>,
<img>
един
след
друг
  • 88. CSS Cascading Style Sheets http://www.w3.org/Style/CSS/ http://w3schools.com/css/ http://jigsaw.w3.org/css-validator/
  • 89.
  • 90. Как си пазим съдържанието, което трябва да структурираме в HTML?
  • 91. Опитвали сте се сами да мислите файлови формати и интерфейс за достъп до данните си?
  • 94. Котки релация ≈ таблица ID Име Порода 1 Macorana3f Сомалийска 2 Стрептокок Сиамска 3 Шрапнел Сомалийска 4 Рекса Мейн Куун
  • 95. Котки релация ≈ таблица Първичен ключ/PK ID Име Порода 1 Macorana3f Сомалийска 2 Стрептокок Сиамска 3 Шрапнел Сомалийска 4 Рекса Мейн Куун
  • 96. Котки релация ≈ таблица Първичен ключ/PK ID Име Порода Запис/ред 1 Macorana3f Сомалийска 2 Стрептокок Сиамска 3 Шрапнел Сомалийска 4 Рекса Мейн Куун
  • 97. Нормализация ≈ липса на повторения на данни Пак далеч от теорията
  • 98.
  • 99. ID Име Порода 1 Macorana3f Сомалийска 2 Стрептокок Сиамска 3 Шрапнел Сомалийска 4 Рекса Мейн Куун
  • 100. Котки Породи
  • 101. Котки ID Име ID на Порода 1 Macorana3f 2 2 Стрептокок 1 3 Шрапнел 2 4 Рекса 3 Породи
  • 102. Котки ID Име ID на Порода 1 Macorana3f 2 2 Стрептокок 1 3 Шрапнел 2 4 Рекса 3 ID Порода 1 Сиамска 2 Сомалийска 3 Мейн Куун Породи
  • 103. Котки ID Име ID на Порода 1 Macorana3f 2 2 Стрептокок 1 3 Шрапнел 2 4 Рекса 3 Котка към Порода, много към едно ID Порода 1 Сиамска 2 Сомалийска 3 Мейн Куун Породи
  • 104. Котки ID Име ID на Порода 1 Macorana3f 2 2 Стрептокок 1 3 Шрапнел 2 4 Рекса 3 Котка към Порода, много към едно ID Порода 1 Сиамска От всяка порода може да 2 Сомалийска има много котки, една 3 Мейн Куун котка е от една порода Породи
  • 106.
  • 107. Котка към Порода, много към много
  • 108. Котка към Порода, много към много От всяка порода може да има много котки, една котка може да е от много породи
  • 109. Котки ID Име 1 Macorana3f 2 Стрептокок 3 Шрапнел 4 Рекса Котка към Порода, много към много От всяка порода може да има много котки, една котка може да е от много породи
  • 110. Котки ID Име 1 Macorana3f 2 Стрептокок 3 Шрапнел 4 Рекса Котка към Порода, много към много ID Порода 1 Сиамска 2 Сомалийска От всяка порода може да има 3 Мейн Куун много котки, една котка може да е от много породи Породи
  • 111. Котки към породи Котки ID на ID на ID Име ID котка порода 1 Macorana3f 1 1 1 2 1 2 2 Стрептокок 3 2 1 3 Шрапнел 4 3 2 4 Рекса 5 4 4 Котка към Порода, много към много ID Порода 1 Сиамска 2 Сомалийска От всяка порода може да има 3 Мейн Куун много котки, една котка може да е от много породи Породи
  • 112.
  • 114. SELECT * FROM kittens SELECT * FROM kittens WHERE age < 2 SELECT id, name FROM kittens WHERE name LIKE ‘Brr%’
  • 115. UPDATE kittens SET age = age +1 WHERE name = ‘Birthday Kitten’
  • 116. INSERT INTO kittens (id, name, age) VALUES (7, ‘Pinko’, 1) INSERT INTO kittens (name) VALUES (‘Pinko’)
  • 118. SELECT NULL + 2 →NULL
  • 119. Задача: име и порода за всяка котка? Заявка върху повече от една таблица?
  • 120. ID Име ID на Порода 1 Macorana3f 2 2 Стрептокок 1 3 Шрапнел 2 4 Рекса 3 Задача: име и порода за всяка котка? Заявка върху повече от една таблица?
  • 121. ID Име ID на Порода ID Порода 1 Macorana3f 2 1 Сиамска 2 Стрептокок 1 2 Сомалийска 3 Шрапнел 2 3 Мейн Куун 4 Рекса 3 Задача: име и порода за всяка котка? Заявка върху повече от една таблица?
  • 123. JOIN декартово произведение на две таблици ID на котка Име ID на Порода ID на порода Порода 1 Macorana3f 2 1 Сиамска 2 Стрептокок 1 2 Сомалийска 3 Шрапнел 2 3 Мейн Куун 4 Рекса 3 1 Сиамска 1 Macorana3f 2 2 Сомалийска 2 Стрептокок 1 3 Мейн Куун 3 Шрапнел 2 1 Сиамска 4 Рекса 3 2 Сомалийска 1 Macorana3f 2 3 Мейн Куун 2 Стрептокок 1 1 Сиамска 3 Шрапнел 2 2 Сомалийска 4 Рекса 3 3 Мейн Куун
  • 124. When a bike is stolen, a fairy dies