Главная страница

Практика Web-Программирование. пракктика web. Браузер Opera gx вопрос 1 Браузер использует версию протокола http 1


Скачать 18.74 Kb.
НазваниеБраузер Opera gx вопрос 1 Браузер использует версию протокола http 1
АнкорПрактика Web-Программирование
Дата24.11.2021
Размер18.74 Kb.
Формат файлаdocx
Имя файлапракктика web.docx
ТипПротокол
#280475

Браузер: Opera GX

Вопрос 1: Браузер использует версию протокола http – 1.1

Вопрос 2: ru-ru, ru; q=0.8, en-us:q=0.6,e; q=0.4

Вопрос 3: 128.119.245.12

Вопрос 4: Код, который вернул браузер серверу: 200

Вопрос 5: Последнее действие на https://gaia.cs.umass.edu/ - 03/01/2016 23:57:50

Вопрос 6: 3.1мб

Вопрос 7: Не отображается файл «.gif», выдает ошибку «404»

Вопрос 8: Да

Вопрос 9: Нет

Вопрос 10: Заголовок HTTP запроса If-Modified-Since делает запрос условным: сервер отправит обратно запрошенный ресурс с статусом 200, только если он был изменён после указанной даты.

Вопрос 11: Если запрос не был изменён после указанной даты, ответ будет 304 без какого-либо тела; заголовок Last-Modified при этом будет содержать дату последней модификации. В отличие от If-Unmodified-Since, If-Modified-Since может использоваться только с GET или HEAD.

При использовании в сочетании с If-None-Match (en-US) заголовок If-Modified-Since игнорируется, кроме тех случаев, когда сервер не поддерживает If-None-Match.

Наиболее распространённым вариантом использования является обновление кешированного объекта, не связанного с ETag.

Вопрос 12: Три запроса. В третьем

Вопрос 13: req, _ := http.NewRequest("GET", " https://gaia.cs.umass.edu", nil)

trace := &httptrace.ClientTrace{

DNSDone: func(dnsInfo httptrace.DNSDoneInfo) {

fmt.Printf("DNS Info: %+v\n", dnsInfo)

},

GotConn: func(connInfo httptrace.GotConnInfo) {

fmt.Printf("Got Conn: %+v\n", connInfo)

},

}

req = req.WithContext(httptrace.WithClientTrace(req.Context(), trace))

if _, err := http.DefaultTransport.RoundTrip(req); err != nil {

log.Fatal(err)

}

Вопрос 14: 200. ОК

Вопрос 15: но если я проверяю окно «Сведения о пакете» для ответа «HTTP 200 OK», он говорит, что были x + 1 повторно собранные сегменты TCP. Этот дополнительный сегмент TCP является ответом «HTTP 200 OK». Нужно ли считать этот пакет?

Если вы имеете в виду «я должен считать больше, чем сегменты, в столбце« Информация »только говорится« [TCP-сегмент повторно собранного PDU] », ответ« да »- когда последний сегмент замечен, запрос или ответ HTTP расчленяется, и информация об этом запросе или ответе помещается в столбец Info.

Не предполагайте, что единственными сегментами в запросе или ответе являются те, которые помечены как «[TCP-сегмент повторно собранного PDU]».

Вопрос 16: Это основной метод, используемый для извлечения html, изображений, JavaScript, CSS и т. д. С использованием этого метода запрошено большинство данных, загружаемых в ваш браузер.

Например, при загрузке статьи Nettuts +, самая первая строка HTTP-запроса выглядит так:

GET /tutorials/other/top-20-mysql-best-practices/ HTTP/1.1

Как только html загрузится, браузер начнет отправлять GET-запрос изображений, который может выглядеть так:

GET /wp-content/themes/tuts_theme/images/header_bg_tall.png HTTP/1.1

Веб-формы можно настроить под метод GET. Вот пример.



First Name:


Last Name:






Когда эта форма отправлена, HTTP-запрос начинается так:

GET /foo.php?first_name=John&last_name=Doe&action=Submit HTTP/1.1

Вы можете видеть, что каждый ввод формы был добавлен в строку запроса.

Вопрос 17: Проще говоря, мультиплексирование позволяет вашему браузеру запускать несколько запросов одновременно по одному и тому же соединению и получать запросы обратно в любом порядке.

А теперь гораздо более сложный ответ ...

Когда вы загружаете веб-страницу, она загружает HTML-страницу, видит, что ей нужен некоторый CSS, немного JavaScript, загрузка изображений ... и т. Д.

Вопрос 18: "Успешно". Запрос успешно обработан. Что значит "успешно", зависит от метода HTTP, который был запрошен:

GET: "ПОЛУЧИТЬ". Запрошенный ресурс был найден и передан в теле ответа.

Вопрос 19: После разбора HTML, браузер (и сервер) повторяет процесс загрузки для каждого ресурса (изображения, стили, скрипты, favicon.ico и так далее), на который ссылается HTML-страница, но при этом изменяется адрес каждого запроса c GET / HTTP/1.1 на GET /$(относительный URL ресурса www.google.com) HTTP/1.1.

Если HTML ссылается на ресурс, размещённый на домене, отличном от google.com, то браузер возвращается к шагам, включающим разрешение доменного имени, а затем заново проходит процесс до текущего состояния, но уже для другого домена. Заголовок Host в запросе вместо google.com будет установлен на нужное доменное имя.


написать администратору сайта