39

Карьера в IT. Системный аналитик, часть 7. HTTP

Серия Карьера в IT. Системный аналитик.

Всем привет.

Сегодня рассмотрим такой важный протокол, как HTTP. Важный потому, что именно его используют в качестве протокола передачи данных современные технологии интеграции (REST, gRPC).

HTTP

HTTP расшифровывается как HyperText Transfer Protocol, «протокол передачи гипертекста». Изначально этот протокол использовался для передачи гипертекстовых документов в формате HTML. Сегодня он используется для передачи произвольных данных - c помощью него можно передавать хоть JSON, хоть XML.

В основе HTTP - клиент-серверная структура передачи данных․ Клиент формирует запрос (request) и отправляет на сервер; на сервере запрос обрабатывается, формируется ответ (response) и передается клиенту.

HTTP не шифрует передаваемую информацию. Для защиты передаваемых данных используется расширение HTTPS (Hyper Text Transfer Protocol Secure), которое “упаковывает” передаваемые данные в криптографический протокол SSL или TLS. Но это совсем другая история)

Структура HTTP запроса

HTTP запрос состоит из трех основных частей: строка запроса (request line), заголовок (message header) и тело сообщения (entity body). Тело сообщения не является обязательным параметром. Между заголовком и телом есть пустая разделительная строка.

Строка запроса

В строке запроса указывается:

  • Метод – название запроса (определяет действие), одно слово из стандартного списка, заглавными буквами;

  • URI определяет путь к запрашиваемому ресурсу;

  • Версия – пара разделённых точкой цифр. Например: 1.0.

Пример HTTP запроса:

Заголовок запроса

Заголовок запроса добавляет некоторую дополнительную информацию к сообщению запроса, которое состоит из пар «имя / значение», по одной паре на строку, а имя и значение разделяются двоеточием.

Обычно в заголовках передается какая-либо мета информация. Например, токен.

Тело запроса

Последней частью запроса является его тело. Оно бывает не у всех запросов: запросы, собирающие (fetching) ресурсы, такие как GET, HEAD, DELETE, или OPTIONS, в нем обычно не нуждаются и тела запроса у них быть не должно (так реализовать метод можно, но это не правильно).

В то же время для методов POST, PUT, PATCH - тело использовать можно и нужно.

Структура ответа HTTP

Структура ответа, в целом, идентична структуре запроса. Также есть строка статуса, заголовок и тело.

Строка статуса (Status line)

Стартовая строка ответа HTTP, называемая строкой статуса, содержит следующую информацию:

  1. Версию протокола, обычно HTTP/1.1.

  2. Код состояния (status code), показывающая, был ли запрос успешным. Примеры: 200, 404 или 302

  3. Пояснение (status text). Краткое текстовое описание кода состояния, помогающее пользователю понять сообщение HTTP..

Пример строки статуса: HTTP/1.1 404 Not Found.

Более подробно про коды состояния и как их использовать расскажу как-нибудь в другой раз.

Пример ответа:

Заголовок

Заголовки ответов HTTP имеют ту же структуру, что и все остальные заголовки: не зависящая от регистра строка, завершаемая двоеточием (':') и значение, структура которого определяется типом заголовка. Весь заголовок, включая значение, представляет собой одну строку.

Тело

Тело присутствует не у всех ответов. Например, если мы вызываем метод DELETE, чтобы удалить какую-либо сущность, то в ответ нам вернется лишь строка статуса с HTTP-кодом 204.

Как правило тело ответа используется в том случае, когда нам нужно вернуть вызывающей стороне информацию о ресурсе. Например, если мы вызываем метод GET /users/25, то в ответе вернется полная информация о пользователе с идентификатором = 25.

P.S.: По традиции - буду признателен за вопросы про карьеру\профессию\чему угодно связанному со сферой IT - постараюсь ответить на всё.

P.P.S.: Также веду телеграмм-канал, в котором делюсь разным про профессию и про свой путь в ней. Есть и хардовая информация (асинхронные, синхронные интеграции, примеры ТЗ\шаблонов написания микросервисов), так и более софтовая - см. закрепленный дайджест.

Лига программистов

2.1K поста11.9K подписчика

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества

Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий

Вопрос такой какие it профессии будут востребованы, с маленьким порогом, допустим я буду сейчас изучать вопрос искать информацию. Допустим как с тестированием лет 5 назад.

раскрыть ветку (5)
1
Автор поста оценил этот комментарий

Поддержу @Kaladinn личной историей.

После универа зашел сначала в БА, потом стал консультантом (в моем случае это был БА + не сильно сложный СА) и сейчас уже больше года я СА.
В БА заходил с какими-то поверхностыми и очень общими знаниями, а область в которую зашел практически не знал. Сейчас продолжаю рост уже будучи СА и в какие-то ещё сферы идти не хочу.
Единственное, у меня иная специфика, нежели у ТС. Я СА в DWH, занимаюсь написанием прототипов витрин данных, раскладываю данные в архитектуру хранилища и т.д. Основной необходимый скилл - SQL (сложные запросы, оконные функции, рекусия)

раскрыть ветку (3)
0
Автор поста оценил этот комментарий
Да, есть прям отдельная позиция - аналитик данных называется. Это вот скорее всего то, чем ты занимаешься. Тоже востребованная история на рынке)

А по поводу того, что был "консультантом", это не 1с случайно? Или может другие erp/wms системы, обычно аналитиков там так называют)

И спасибо за личную историю.
раскрыть ветку (2)
0
Автор поста оценил этот комментарий

Да, аналитик данных, это оно)

1С у нас отсутствует, к счастью. Был как консультант sap bw, консультанты sap erp - отдельная и очень узкопрофильная штука))

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Ну да, sap я знаю, забористая штука. Я не с ним, но с соседней axapta работал больше двух лет, после чего как раз в СА ушёл. Давно это было, эх
Похоже, в целом)
1
Автор поста оценил этот комментарий

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

Т.е. тестирование -> БА -> СА -> разработка в порядке возрастания сложности. И все они востребованы.

Тестировщиков сейчас достаточно много, их много готовят на курсах - плюс в целом изучить профессию легче, но конкурс большой. Самый большой из всех профессий.


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


Ты уже и работаешь, и что-то получаешь и что-то понимать начинаешь. Через год-полтора, параллельно обучаясь можно вертикально вырасти в позиции. Возможно, даже в рамках той же компании переключиться на тестирование\СА\БА\

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества