когда я типа wget http://yahoo.com:80 сверху unix ракушка. Может кто-нибудь объяснить мне, что именно происходит, от ввода команды до достижения сервера yahoo. Заранее большое спасибо.A вопрос относительно wget
ответ
RFC предоставляет вам всю необходимую информацию и не привязан к инструменту или ОС.
Wget использует в вашем случае HTTP, который основывает на TCP, что, в свою очередь, использует IP, то это зависит от того, что вы используете, большую часть времени вы будете сталкиваться с Ethernet кадров.
Чтобы понять, что происходит, я настоятельно рекомендую вам установить Wireshark и посмотреть на расчлененные кадры, вы получите обзор того, какие данные принадлежат к сетевому уровню. Это самый простой способ визуализировать и узнать, что происходит. Помимо этого, если вам действительно нравятся (ирония) смешные документы (/ ирония), посмотрите на соответствующие RFC HTTP: 2616, например, для остальных взгляните на внешние ссылки в нижней части статей wikipedia.
- Программа использует DNS для разрешения имени хоста на IP. Классический вызов API -
gethostbyname
, хотя более новые программы должны использовать протоколgetaddrinfo
для совместимости с IPv6. - Поскольку вы указываете порт, программа может пропустить поиск порта по умолчанию для http. Но если бы вы этого не сделали, попробовал бы
getservbyname
искать порт по умолчанию (опять же, wget может просто вставлять порт 80). - Программа использует сетевой API для подключения к удаленному хосту. Это делается с
socket
иconnect
- Программа записывает запрос HTTP в связи с вызовом
write
- Программа читает ответ HTTP с одним или несколькими вызовами
read
.
- 1. Создание wget a bash.sh
- 2. Простой вопрос относительно LINQ
- 3. Вопрос относительно BNF
- 4. вопрос относительно последовательностей postgresql
- 5. Простой вопрос относительно UITableViewController
- 6. вопрос относительно выпадающее меню
- 7. вопрос относительно tokenize.py
- 8. Mysql вопрос относительно ОБНОВЛЕНИЯ
- 9. синтаксис вопрос относительно установкаOnClickListener?
- 10. вопрос относительно java.sql.resultset
- 11. Vim Вопрос относительно Просмотров
- 12. вопрос относительно переменной области
- 13. Вопрос относительно SharedInstance
- 14. Вопрос относительно страны
- 15. Вопрос относительно Vector3.normalize();
- 16. php вопрос относительно массивов
- 17. вопрос относительно к значку
- 18. Вопрос относительно навигационного контроллера
- 19. Вопрос относительно оценки Lucene
- 20. вопрос относительно моста шаблон
- 21. Вопрос относительно подкласса
- 22. Простой вопрос C относительно *
- 23. вопрос относительно define_method и method_missing
- 24. Regex вопрос относительно соответствия строк
- 25. Вопрос относительно динамического распределения памяти
- 26. вопрос относительно карт Google api
- 27. C++ templating вопрос относительно компараторов
- 28. вопрос относительно templatization виртуальной функции
- 29. noob вопрос относительно twitter oauth
- 30. Небольшой вопрос относительно титана-апселератора?
Вы хотите объяснить протокол HTTP? Или сетевого стека? –
@Felix Меня больше интересует сетевой стек, но меня тоже интересует протокол HTTP. – mousey