Skip to content

Commit 7fccd95

Browse files
committed
minor
1 parent cfe125b commit 7fccd95

File tree

3 files changed

+8
-9
lines changed

3 files changed

+8
-9
lines changed

2-ui/3-event-details/4-drag-and-drop/2-drag-heroes/task.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<li>Элемент при переносе, даже при резких движениях мышкой, не должен попасть вне окна.</li>
1515
</ul>
1616

17-
Футбольное поле в этой задач слишком большое, чтобы показывать его здесь, поэтому откройте его, кликнув по ссылке ниже. Там же и подробное описание задачи (осторожно, винни-пух и супергерои!).
17+
Футбольное поле в этой задаче слишком большое, чтобы показывать его здесь, поэтому откройте его, кликнув по ссылке ниже. Там же и подробное описание задачи (осторожно, винни-пух и супергерои!).
1818

1919
[demo src="solution"]
2020

4-ajax/13-csrf/article.md

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Атака CSRF
22

3-
Нельзя говорить про AJAX и не упомянуть про важнейшую деталь его реализации -- анти-CSRF.
3+
Нельзя говорить про AJAX и не упомянуть про важнейшую деталь его реализации -- защиту от CSRF-атак.
44

55
[CSRF](http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B4%D0%B4%D0%B5%D0%BB%D0%BA%D0%B0_%D0%BC%D0%B5%D0%B6%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2%D1%8B%D1%85_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2) (Cross-Site Request Forgery, также XSRF) -- опаснейшая атака, которая приводит к тому, что хакер может выполнить на неподготовленном сайте массу различных действий от имени других, зарегистрированных посетителей.
66

@@ -136,6 +136,3 @@ if (csrfCookie) {
136136
</ul>
137137

138138

139-
Чтобы
140-
141-

4-ajax/6-xhr-onprogress/article.md

+6-4
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ function upload(file) {
118118

119119
Этот код отправит файл на сервер и будет сообщать о прогрессе при его закачке (`xhr.upload.onprogress`), а также об окончании запроса (`xhr.onload`, `xhr.onerror`).
120120

121-
Полный пример, основанный на коде выше:
121+
Полный пример индикации прогресса при загрузке, основанный на коде выше:
122122

123123
[codetabs src="progress"]
124124

@@ -158,9 +158,11 @@ function upload(file) {
158158

159159
Это обозначено в [спецификации progress notifications](http://www.w3.org/TR/XMLHttpRequest/#make-progress-notifications).
160160
</li>
161-
<li>**В процессе получения данных, ещё до их полной передачи, доступен `xhr.responseText`.**
161+
<li>**В процессе получения данных, ещё до их полной передачи, доступен `xhr.responseText`, но он не обязательно содержит корректную строку.**
162162

163-
Можно до окончания запроса заглянуть в него и прочитать текущие полученные данные. Важно, что при пересылке строки в кодировке UTF-8 русские символы кодируются 2 байтами. Возможно, что в конце одного пакета данных окажется первая половинка символа, а в начале следующего -- вторая. Поэтому полагаться на то, что до окончания запроса в `responoseText` находится корректная строка нельзя. Исключение -- заведомо однобайтные символы, например цифры.</li>
163+
Можно до окончания запроса заглянуть в него и прочитать текущие полученные данные. Важно, что при пересылке строки в кодировке UTF-8 кириллические символы, как, впрочем, и многие другие, кодируются 2 байтами. Возможно, что в конце одного пакета данных окажется первая половинка символа, а в начале следующего -- вторая. Поэтому полагаться на то, что до окончания запроса в `responoseText` находится корректная строка нельзя. Она может быть обрезана посередине символа.
164+
165+
Исключение -- заведомо однобайтные символы, например цифры или латинница.</li>
164166
<li>**Сработавшее событие `xhr.upload.onprogress` не гарантирует, что данные дошли.**
165167

166168
Событие `xhr.upload.onprogress` срабатывает, когда данные отправлены браузером. Но оно не гарантирует, что сервер получил, обработал и записал данные на диск. Он говорит лишь о самом факте отправки.
@@ -185,5 +187,5 @@ formData.append("myfile", file);
185187
xhr.send(formData);
186188
```
187189

188-
Данные будут отправлены в кодировке `multipart/form-data`. Серверный фреймворк увидит это как обычную форму с файлом. Практически все серверные технологии имеют их встроенную поддержку.
190+
Данные будут отправлены в кодировке `multipart/form-data`. Серверный фреймворк увидит это как обычную форму с файлом, практически все серверные технологии имеют их встроенную поддержку. Индикация прогресса реализуется точно так же.
189191

0 commit comments

Comments
 (0)