Вопрос №596 от пользователя user-9d13369ac2325f57 в уроке «HTTP 1.0», курс «Протокол HTTP»

user-9d13369ac2325f57

root@b6c489cff1c0:/usr/src/app# telnet localhost 8080                                                                                                                                                                
Trying ::1...                                                                                                                                                                                                        
Connected to localhost.                                                                                                                                                                                              
Escape character is '^]'.                                                                                                                                                                                            
GET /about.html HTTP/1.1                                                                                                                                                                                             

HTTP/1.1 404 Not Found                                                                                                                                                                                               
Content-Type: text/html; charset=ISO-8859-1                                                                                                                                                                          
Server: WEBrick/1.3.1 (Ruby/2.1.5/2014-11-13)                                                                                                                                                                        
Date: Fri, 01 May 2015 13:44:57 GMT                                                                                                                                                                                  
Content-Length: 280                                                                                                                                                                                                  
Connection: close                                                                                                                                                                                                    

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">                                                                                                                                                                    
<HTML>                                                                                                                                                                                                               
  <HEAD><TITLE>Not Found</TITLE></HEAD>                                                                                                                                                                              
  <BODY>                                                                                                                                                                                                             
    <H1>Not Found</H1>                                                                                                                                                                                               
    `/about.html' not found.                                                                                                                                                                                         
    <HR>                                                                                                                                                                                                             
    <ADDRESS>                                                                                                                                                                                                        
     WEBrick/1.3.1 (Ruby/2.1.5/2014-11-13) at                                                                                                                                                                        
     localhost:8080                                                                                                                                                                                                  
    </ADDRESS>                                                                                                                                                                                                       
  </BODY>                                                                                                                                                                                                            
</HTML>                                                                                                                                                                                                              
Connection closed by foreign host.                                                                                                                                                                                   
root@b6c489cff1c0:/usr/src/app#     

Что не так???

18 0

Rakhim D.

Вы не указали хост hexlettesthost.com

0

user-9d13369ac2325f57

Где не указан хост?

0

user-9d13369ac2325f57

root@b6c489cff1c0:/usr/src/app# telnet hexlettesthost.com 8080
telnet: could not resolve hexlettesthost.com/8080: Name or service not known

0

Rakhim D.

Вы правильно начали, коннектиться телентом нужно к серверу (localhost), а вот начиная с версии HTTP 1.1 необходимо указать хост уже в запросе:

GET /about.html HTTP/1.1
Host: hexlettesthost.com
0

user-9d13369ac2325f57

Первое завершил, спасибо. А как выглядит запрос логина?

0

user-9d13369ac2325f57

POST /login?login=user&password=12345678 HTTP/1.1 HOST: hexlettesthost.com

0

user-9d13369ac2325f57

root@b6c489cff1c0:/usr/src/app# telnet 127.0.0.1 8080
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is ']'.
POST /about.html?login=user&password=12345678 HTTP/1.1
HOST: hexlettesthost.com

HTTP/1.1 200 OK
Content-Length: 21
Server: WEBrick/1.3.1 (Ruby/2.1.5/2014-11-13)
Date: Fri, 01 May 2015 16:15:32 GMT
Connection: Keep-Alive

Yeah, good request ;)Connection closed by foreign host.

0

user-9d13369ac2325f57

Все равно не пройдено (

0

Rakhim D.

См. совет в README: "Не используйте 'Connection: keep-alive', так как нам нужно, чтобы соединение было закрыто после запроса."

0

Rakhim D.

Соответственно, нужно использовать "Connection: close"

0

Kirill Mokevnin

При использовании POST данные передаются в теле запроса, а не заголовках.

0

user-9d13369ac2325f57

POST /login HTTP/1.1 HOST: hexlettesthost.com Content-type: application/x-http-form-urlencoded Connection: close Content-Length: 28 login=user&password=12345678

bad header 'login=user&password=12345678\r\n'.

0

Kirill Mokevnin

Конечно не хедер), протокол http простой как два рубля. Заголовки идут в начале и разделяются переводом строки, тело идет потом и отделяется дополнительным переводом строки, вот и все собственно. А у вас тут все в одну строчку.

0

Kirill Mokevnin

Вы попробуйте на хекслете поменять данные в любой форме (в личном кабинете) и в инструментарии разработчика (в каждом браузере есть) посмотрите как отсылается заголовки и тело.

0

user-9d13369ac2325f57

если нажать enter 2 раза (перевод строки), то отсылается запрос. Как мне обозначить перенос строки? \r\n не канает

0

user-9d13369ac2325f57

эм.. с такой поддержкой наверное хорошо продажи идут, да?

0

Алексей Франк

Добрый день, у вас ошибка в хедере: Content-type: application/x-http-form-urlencoded Такого значения у данного хедера не существует. Правильный вариант: Content-Type: application/x-www-form-urlencoded

(http -> www)

2

Александр-C Вагин

Когда вы исправите этот хедер, второй перевод строки не будет отсылать запрос. Никакой магии и синхрофазотрона не замечено ;)

2

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев