Sobes.tech
Junior

Тавзеҳ диҳед, ки чаро ҷисми дархост (body), сарлавҳаҳо (headers) ва параметрҳои дархост (query parameters) вуҷуд доранд ва чаро онҳоро дар якҷоягӣ наметавон муттаҳид кард.

sobes.tech AI

Ҷавоб аз AI

Тело талаб (body), сарлавҳаҳо (headers) ва параметрҳои талаб (query parameters) барои ҷудо кардани намудҳои гуногуни маълумоте, ки дар дархости HTTP интиқол дода мешаванд, вуҷуд доранд ва онҳо наметавонанд якҷоя шаванд, зеро онҳо вазифаҳои гуногун доранд ва мақсадҳои гуногун доранд.

Параметрҳои талаб (Query Parameters)

  • Дар URL пас аз нишони ? интиқол дода мешаванд.
  • Барои филтр кардан, сорт кардан, пагинация кардани маълумот ё интиқоли миқдори ками маълумоти номуайян, ки барои иҷрои амал заруранд, истифода мешаванд.
  • Аксар вақт бо дархостҳои GET истифода мешаванд, зеро онҳо бадан надоштаанд.
  • Дар URL дида мешаванд, бинобар ин барои интиқоли маълумоти махфӣ мувофиқ нестанд.
  • Бо дарозии URL маҳдуд шудаанд.

Масалан: GET /users?pageSize=10&page=2&sort=name

Сарлавҳаҳо (Headers)

  • Мета маълумот дар бораи дархост ва ҷавобро интиқол медиҳанд.
  • Ин маълумотҳо мисли навъи мундариҷа, кодгузорӣ, токенҳои аутентификатсия, маълумот дар бораи мизоҷ (User-Agent), кэшгирӣ ва ғайраро дар бар мегиранд.
  • Барои идоракунии рафтори дархост/ҷавоб истифода мешаванд, на барои интиқоли маълумоти амалиёт.

Масаланҳои сарлавҳа: Content-Type: application/json Authorization: Bearer <токен> User-Agent: Mozilla/5.0 (...)

Танаи дархост (Body)

  • Маълумоти асосиро дар бар мегирад, ки барои коркард ба сервер интиқол дода мешавад.
  • Бо дархостҳое истифода мешаванд, ки ҳолати серверро тағир медиҳанд (POST, PUT, PATCH) ё миқдори зиёди маълумотро мефиристанд.
  • Форматҳои маъмул: JSON, XML, формҳо (urlencoded/multipart).
  • Аз ҳад зиёд маҳдуд нест (дар ҳадди амалии).
  • Дар URL намоён нест.

Масалан, танаи дархост (барои POST):

{
  "name": "John Doe",
  "email": "john.doe@example.com"
}

Чаро наметавонанд якҷоя шаванд:

  • Семантика: Ҳар як қисм маънои худро дорад. Параметрҳо муайян мекунанд чӣ талаб кардан (филтрҳо), сарлавҳаҳо муайян мекунанд чӣ гуна талаб кардан (метаданон), ва танаи маълумотҳоро барои коркард интиқол медиҳад.
  • Протоколи HTTP: Сохтори HTTP равшан ин қисмҳоро ҷудо мекунад, ки ба барномаҳои муштарию серверӣ имкон медиҳад онҳоро дуруст парс ва коркард кунанд.
  • Камаронӣ ва кэшгирӣ: Ҷудо кардан имкон медиҳад, ки инфраструктураи HTTP (проксиҳо, кэшҳо ва ғайра) ба таври муассир дархостҳоро коркард кунанд, масалан, ҷавобҳоро барои дархостҳои GET бо параметрҳои якхела дар URL кэш кунанд.
  • Бехатарӣ: Тасдиқи маълумоти махфӣ дар URL (параметрҳо) бехатар нест, зеро онҳо метавонанд дар логҳо ё таърихи браузер сабт шаванд. Барои ин танаи дархост истифода мешавад.
  • Маҳдудиятҳо: Параметрҳои дархост дарозии URL-ро маҳдуд мекунанд, ки онҳоро барои интиқоли миқдори калонтарини маълумот номувофиқ месозад. Танаи дархост чунин маҳдудият надорад.

Ин якҷоя кардани ин элементҳоро ба як, ба талафоти сохтор, мушкилӣ дар парсинг ва коркарди дархостҳои HTTP, инчунин ба хатарҳои бехатарӣ ва самаранокӣ оварда мерасонад.