SlideShare a Scribd company logo
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

More Related Content

What's hot

Background noise of the Internet
Background noise of the InternetBackground noise of the Internet
Background noise of the Internet
Bangladesh Network Operators Group
 
CloudKit
CloudKitCloudKit
CloudKit
Jon Crosby
 
Memento: TimeGates, TimeBundles, and TimeMaps
Memento: TimeGates, TimeBundles, and TimeMapsMemento: TimeGates, TimeBundles, and TimeMaps
Memento: TimeGates, TimeBundles, and TimeMaps
Michael 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 2014
Peter 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)
용진 조
 
How Web Pages Work
How Web Pages Work How Web Pages Work
How Web Pages Work
OneDesignCompany
 
1تقرير
1تقرير1تقرير
1تقريرtech1010
 

What's hot (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تقرير
 

Viewers also liked

1. Въведение в Ruby
1. Въведение в Ruby1. Въведение в Ruby
1. Въведение в RubyStefan Kanev
 
0. За курса, Ruby и Rails
0. За курса, Ruby и Rails0. За курса, Ruby и Rails
0. За курса, Ruby и Rails
Stefan Kanev
 
Debugging Habits
Debugging HabitsDebugging Habits
Debugging Habits
Stefan Kanev
 
Защо Ruby on Rails
Защо Ruby on RailsЗащо Ruby on Rails
Защо Ruby on Rails
Stefan Kanev
 
Windows 7 Developer Overview
Windows 7 Developer OverviewWindows 7 Developer Overview
Windows 7 Developer Overview
Dave Bost
 
Nature of Chase
Nature of ChaseNature of Chase
Nature of Chase
Laura Bridges-Pereira
 
Informatiethema's: naar het buitenland
Informatiethema's: naar het buitenlandInformatiethema's: naar het buitenland
Informatiethema's: naar het buitenland
Vlaams Informatiepunt Jeugd vzw
 
Doorlichting JIPS 2009
Doorlichting JIPS 2009Doorlichting JIPS 2009
Doorlichting JIPS 2009
Vlaams Informatiepunt Jeugd vzw
 
Silverlight 2
Silverlight 2Silverlight 2
Silverlight 2
Dave Bost
 
Ecophon - Akusto - FR
Ecophon - Akusto - FREcophon - Akusto - FR
Ecophon - Akusto - FR
Architectura
 
Presentación estructura
Presentación estructuraPresentación estructura
Presentación estructura
Wladimir Drobnata Lopez
 

Viewers also liked (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
 

Similar to 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 Apps
Ben 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 Management
Joe 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 attacks
Felipe Prado
 
Speedy App: Frontend Performance Considerations
Speedy App: Frontend Performance ConsiderationsSpeedy App: Frontend Performance Considerations
Speedy App: Frontend Performance Considerations
Pierre 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-basic
MksYi
 
Developing cacheable PHP applications - PHPLimburgBE 2018
Developing cacheable PHP applications - PHPLimburgBE 2018Developing cacheable PHP applications - PHPLimburgBE 2018
Developing cacheable PHP applications - PHPLimburgBE 2018
Thijs 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 folks
Nicolas 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 2014
Arun 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 you
Fastly
 
Computer Networks: An Introduction
Computer Networks: An IntroductionComputer Networks: An Introduction
Computer Networks: An Introduction
sanand0
 
Speed = $$$
Speed = $$$Speed = $$$
Speed = $$$
Peter Gfader
 
HTTP/2 and Java: Current Status
HTTP/2 and Java: Current StatusHTTP/2 and Java: Current Status
HTTP/2 and Java: Current Status
Simone Bordet
 
Developing cacheable PHP applications - Confoo 2018
Developing cacheable PHP applications - Confoo 2018Developing cacheable PHP applications - Confoo 2018
Developing cacheable PHP applications - Confoo 2018
Thijs 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 Websites
Parham
 

Similar to 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
 

More from Stefan Kanev

Как блогът ми ме направи по-добър професионалист
Как блогът ми ме направи по-добър професионалистКак блогът ми ме направи по-добър професионалист
Как блогът ми ме направи по-добър професионалист
Stefan Kanev
 
Щастливият програмист 2.0
Щастливият програмист 2.0Щастливият програмист 2.0
Щастливият програмист 2.0
Stefan Kanev
 
Пак ли този Rails?
Пак ли този Rails?Пак ли този Rails?
Пак ли този Rails?
Stefan Kanev
 
The Happy Programmer
The Happy ProgrammerThe Happy Programmer
The Happy Programmer
Stefan Kanev
 
ФМИ Python: Agile & Friends
ФМИ Python: Agile & FriendsФМИ Python: Agile & Friends
ФМИ Python: Agile & Friends
Stefan 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 + Refactoring
Stefan Kanev
 
за Ruby
за Rubyза Ruby
за Ruby
Stefan Kanev
 
4. Метапрограмиране
4. Метапрограмиране4. Метапрограмиране
4. МетапрограмиранеStefan Kanev
 
3. Обекти и класове
3. Обекти и класове3. Обекти и класове
3. Обекти и класовеStefan Kanev
 
2. Функционални Закачки
2. Функционални Закачки2. Функционални Закачки
2. Функционални Закачки
Stefan Kanev
 

More from 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. Функционални Закачки
 

Recently uploaded

SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 

Recently uploaded (20)

SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 

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