Cache em serviços rest com java (jax-rs)

668 views
580 views

Published on

Web no seu dia a dia é 100% velocidade de resposta. Usuários odeiam esperar, ficamos frustrados enquanto vídeos, páginas e suas imagens são carregadas lentamente. É uma (má) experiência aos usuários! Na verdade algo chocante.

Sendo desenvolvedor web, um de suas primeiras ferramentas para ganho de banda no server-side assim como no client-side são os princípios de HTTP Caching. O tempo investido na otimização de sites vale a pena, então vamos mergulhar nisto!!

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
668
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Cache em serviços rest com java (jax-rs)

  1. 1. @helmedCACHEEM SERVIÇOSRESTCOM JAX-RSFriday, April 26, 13
  2. 2. tópicos 5HTTP
  3. 3.  CAching1cabeçalhosHTTP
  4. 4.  cache
  5. 5.  2requisições
  6. 6.  condicionais3REST
  7. 7.  em
  8. 8.  JAVA
  9. 9.  usando
  10. 10.  jersey4Cacheando
  11. 11.  JSON5Friday, April 26, 13
  12. 12. como assim?precisamos
  13. 13.  aumentar
  14. 14.  a
  15. 15.  performance
  16. 16.  das
  17. 17.  aplicações
  18. 18.  assim
  19. 19.  como
  20. 20.  a
  21. 21.  UXHTTP
  22. 22.  CAching1aumentarotempoderesposta reduzrequisiçõesaosservidoresusabilidadefluídaFriday, April 26, 13
  23. 23. bom...talvezmau
  24. 24.  uso
  25. 25.  pode
  26. 26.  dar
  27. 27.  muita
  28. 28.  dor
  29. 29.  de
  30. 30.  cabeçaHTTP
  31. 31.  CAching1dadosdesatualizadostimetomarketdifícildebugarFriday, April 26, 13
  32. 32. CACHEHTTPespecificação
  33. 33.  universalmente
  34. 34.  implementada
  35. 35.  pelos
  36. 36.  browsersHTTP
  37. 37.  CAching1Friday, April 26, 13
  38. 38. HTTP
  39. 39.  CAching1Browser
  40. 40.  do
  41. 41.  ClienteServidor
  42. 42.  Webrequestresponse(com
  43. 43.  os
  44. 44.  cabeçalhos
  45. 45.  dedicados
  46. 46.  a
  47. 47.  cache)armazena
  48. 48.  para
  49. 49.  posterior
  50. 50.  usoCACHE
  51. 51.  DO
  52. 52.  BROWSERPRIMEIRA REQUISIÇÃOFriday, April 26, 13
  53. 53. HTTP
  54. 54.  CAching1PRIMEIRA REQUISIÇÃOpara
  55. 55.  a
  56. 56.  imagem
  57. 57.  ico-mobile.pngFriday, April 26, 13
  58. 58. HTTP
  59. 59.  CAching1Browser
  60. 60.  do
  61. 61.  ClienteServidor
  62. 62.  Webusa
  63. 63.  o
  64. 64.  cache
  65. 65.  do
  66. 66.  browserCACHE
  67. 67.  DO
  68. 68.  BROWSERREQUISIÇÃOCACHEADAo
  69. 69.  conteúdo
  70. 70.  está
  71. 71.  cacheado
  72. 72.  e
  73. 73.  não
  74. 74.  está
  75. 75.  expirado?Friday, April 26, 13
  76. 76. HTTP
  77. 77.  CAching1REQUISIÇÃOCACHEADApara
  78. 78.  a
  79. 79.  imagem
  80. 80.  ico-mobile.png
  81. 81.  -
  82. 82.  não
  83. 83.  é
  84. 84.  nem
  85. 85.  buscada
  86. 86.  antes
  87. 87.  que
  88. 88.  acabe
  89. 89.  o
  90. 90.  cacheFriday, April 26, 13
  91. 91. comofazer?precisamos
  92. 92.  utilizar
  93. 93.  os
  94. 94.  cabeçalhos
  95. 95.  corretos
  96. 96.  
  97. 97.  para
  98. 98.  que
  99. 99.  todos
  100. 100.  sigam
  101. 101.  a
  102. 102.  especificaçãocache-controllast-modifiedexpiresETagcabeçalhosHTTP
  103. 103.  cache
  104. 104.  2Friday, April 26, 13
  105. 105. cabeçalhosHTTP
  106. 106.  cache
  107. 107.  2Expirespossuía
  108. 108.  limitações
  109. 109.  considerando
  110. 110.  redes
  111. 111.  e
  112. 112.  servidores
  113. 113.  intermediários
  114. 114.  de
  115. 115.  cacheHypertext Transfer Protocol -- HTTP/1.0Friday, April 26, 13
  116. 116. cabeçalhosHTTP
  117. 117.  cache
  118. 118.  2Cache-Controlevolução
  119. 119.  para
  120. 120.  detalhamento
  121. 121.  de
  122. 122.  como
  123. 123.  lidar
  124. 124.  com
  125. 125.  cache.publicprivatemax-ageno-cacheno-storeno-transforms-maxageHypertext Transfer Protocol -- HTTP/1.1Friday, April 26, 13
  126. 126. cabeçalhosHTTP
  127. 127.  cache
  128. 128.  2Cache-ControlIndica
  129. 129.  que
  130. 130.  a
  131. 131.  resposta
  132. 132.  pode
  133. 133.  ser
  134. 134.  armazenada
  135. 135.  em
  136. 136.  cache
  137. 137.  por
  138. 138.  qualquer
  139. 139.  servidor
  140. 140.  de
  141. 141.  cache
  142. 142.  intermediário
  143. 143.  a
  144. 144.  requisiçãopublicHypertext Transfer Protocol -- HTTP/1.1Friday, April 26, 13
  145. 145. cabeçalhosHTTP
  146. 146.  cache
  147. 147.  2Cache-Controlindica
  148. 148.  que
  149. 149.  a
  150. 150.  totalidade
  151. 151.  ou
  152. 152.  parte
  153. 153.  da
  154. 154.  mensagem
  155. 155.  de
  156. 156.  resposta
  157. 157.  é
  158. 158.  destinado
  159. 159.  a
  160. 160.  um
  161. 161.  único
  162. 162.  usuário
  163. 163.  e
  164. 164.  não
  165. 165.  deve
  166. 166.  ser
  167. 167.  armazenada
  168. 168.  em
  169. 169.  cacheHypertext Transfer Protocol -- HTTP/1.1privateFriday, April 26, 13
  170. 170. cabeçalhosHTTP
  171. 171.  cache
  172. 172.  2Cache-Controldefine
  173. 173.  a
  174. 174.  expectativa
  175. 175.  de
  176. 176.  vida
  177. 177.  do
  178. 178.  recurso.
  179. 179.  Uma
  180. 180.  resposta
  181. 181.  é
  182. 182.  obsoleto
  183. 183.  se
  184. 184.  sua
  185. 185.  idade
  186. 186.  atual
  187. 187.  é
  188. 188.  maior
  189. 189.  do
  190. 190.  que
  191. 191.  o
  192. 192.  valor
  193. 193.  dado
  194. 194.  (em
  195. 195.  segundos)
  196. 196.  no
  197. 197.  momento
  198. 198.  de
  199. 199.  um
  200. 200.  novo
  201. 201.  pedido
  202. 202.  para
  203. 203.  esse
  204. 204.  recurso.Hypertext Transfer Protocol -- HTTP/1.1max-ageFriday, April 26, 13
  205. 205. cabeçalhosHTTP
  206. 206.  cache
  207. 207.  2Cache-ControlDefine
  208. 208.  a
  209. 209.  expectativa
  210. 210.  de
  211. 211.  vida
  212. 212.  do
  213. 213.  recurso
  214. 214.  em
  215. 215.  servidores
  216. 216.  de
  217. 217.  proxy
  218. 218.  cache.
  219. 219.  Quando
  220. 220.  o
  221. 221.  objeto
  222. 222.  for
  223. 223.  obsoleto
  224. 224.  ao
  225. 225.  browser
  226. 226.  do
  227. 227.  cliente,
  228. 228.  um
  229. 229.  proxy
  230. 230.  cache
  231. 231.  deve
  232. 232.  primeiro
  233. 233.  validá-lo
  234. 234.  contra
  235. 235.  sua
  236. 236.  
  237. 237.  expectativa
  238. 238.  de
  239. 239.  vida
  240. 240.  para
  241. 241.  o
  242. 242.  objeto,
  243. 243.  antes
  244. 244.  de
  245. 245.  passar
  246. 246.  uma
  247. 247.  requisição
  248. 248.  ao
  249. 249.  origin
  250. 250.  server.Hypertext Transfer Protocol -- HTTP/1.1s-maxageFriday, April 26, 13
  251. 251. cabeçalhosHTTP
  252. 252.  cache
  253. 253.  2Cache-ControlDefine
  254. 254.  que
  255. 255.  um
  256. 256.  recurso
  257. 257.  não
  258. 258.  seja
  259. 259.  substituído
  260. 260.  em
  261. 261.  servidores
  262. 262.  intermediários.
  263. 263.  Proxy
  264. 264.  caches
  265. 265.  intermediários,
  266. 266.  podem
  267. 267.  utilizar
  268. 268.  estratégias
  269. 269.  de
  270. 270.  substituição,
  271. 271.  como
  272. 272.  em
  273. 273.  casos
  274. 274.  de
  275. 275.  imagens
  276. 276.  em
  277. 277.  que
  278. 278.  pode
  279. 279.  ser
  280. 280.  guardada
  281. 281.  uma
  282. 282.  imagem
  283. 283.  com
  284. 284.  resolução
  285. 285.  menor.Hypertext Transfer Protocol -- HTTP/1.1no-transformFriday, April 26, 13
  286. 286. cabeçalhosHTTP
  287. 287.  cache
  288. 288.  2Cache-ControlSe
  289. 289.  no-cache
  290. 290.  não
  291. 291.  especificar
  292. 292.  um
  293. 293.  campo,
  294. 294.  então
  295. 295.  os
  296. 296.  servidores
  297. 297.  de
  298. 298.  cache
  299. 299.  não
  300. 300.  devem
  301. 301.  usar
  302. 302.  a
  303. 303.  resposta
  304. 304.  para
  305. 305.  satisfazer
  306. 306.  uma
  307. 307.  nova
  308. 308.  requisição.Se
  309. 309.  a
  310. 310.  no-cache
  311. 311.  especificar
  312. 312.  um
  313. 313.  ou
  314. 314.  mais
  315. 315.  
  316. 316.  campos,
  317. 317.  então
  318. 318.  um
  319. 319.  cache
  320. 320.  pode
  321. 321.  usar
  322. 322.  a
  323. 323.  resposta
  324. 324.  para
  325. 325.  satisfazer
  326. 326.  um
  327. 327.  pedido
  328. 328.  subsequente,
  329. 329.  sujeito
  330. 330.  a
  331. 331.  quaisquer
  332. 332.  outras
  333. 333.  restrições
  334. 334.  ao
  335. 335.  cache.Hypertext Transfer Protocol -- HTTP/1.1no-cacheFriday, April 26, 13
  336. 336. cabeçalhosHTTP
  337. 337.  cache
  338. 338.  2Cache-ControlNão
  339. 339.  devem
  340. 340.  armazenar
  341. 341.  .
  342. 342.  Os
  343. 343.  caches
  344. 344.  não
  345. 345.  pode
  346. 346.  intencionalmente
  347. 347.  armazenar
  348. 348.  as
  349. 349.  informações
  350. 350.  de
  351. 351.  armazenamento
  352. 352.  não-volátil,
  353. 353.  e
  354. 354.  deve
  355. 355.  fazer
  356. 356.  uma
  357. 357.  tentativa
  358. 358.  de
  359. 359.  melhor
  360. 360.  esforço
  361. 361.  para
  362. 362.  remover
  363. 363.  as
  364. 364.  informações
  365. 365.  de
  366. 366.  armazenamento
  367. 367.  volátil
  368. 368.  com
  369. 369.  a
  370. 370.  maior
  371. 371.  brevidade
  372. 372.  possível
  373. 373.  após
  374. 374.  encaminhá-lo.Hypertext Transfer Protocol -- HTTP/1.1no-storeFriday, April 26, 13
  375. 375. houvealteração?precisamos
  376. 376.  reduzir
  377. 377.  o
  378. 378.  escopo
  379. 379.  da
  380. 380.  requisição
  381. 381.  para
  382. 382.  conferência
  383. 383.  para
  384. 384.  manter
  385. 385.  a
  386. 386.  conferência
  387. 387.  constantelast-modifiedETagrequisições
  388. 388.  condicionais3Friday, April 26, 13
  389. 389. requisições
  390. 390.  condicionais3baseadoem tempogarante
  391. 391.  que
  392. 392.  requisições
  393. 393.  só
  394. 394.  serão
  395. 395.  enviadas
  396. 396.  quando
  397. 397.  os
  398. 398.  dados
  399. 399.  tiverem
  400. 400.  sido
  401. 401.  alteradoslast-modifiedIf-Modified-SinceFriday, April 26, 13
  402. 402. requisições
  403. 403.  condicionais3Browser
  404. 404.  do
  405. 405.  ClienteServidor
  406. 406.  WebServidor
  407. 407.  Cacherequest requestresponseresponse(com
  408. 408.  os
  409. 409.  cabeçalhos
  410. 410.  dedicados
  411. 411.  a
  412. 412.  cache)armazena
  413. 413.  para
  414. 414.  posterior
  415. 415.  usoCACHE
  416. 416.  DO
  417. 417.  BROWSERCACHE
  418. 418.  DO
  419. 419.  servidorCache-Control
  420. 420.  
  421. 421.  
  422. 422.  
  423. 423.  
  424. 424.  
  425. 425.  
  426. 426.  
  427. 427.  max-age=20,
  428. 428.  s-maxage=20last-modified
  429. 429.  
  430. 430.  
  431. 431.  
  432. 432.  Thu,
  433. 433.  18
  434. 434.  Apr
  435. 435.  2013
  436. 436.  09:20:14
  437. 437.  GMTIf-Modified-Since
  438. 438.  
  439. 439.  
  440. 440.  
  441. 441.  Thu,
  442. 442.  18
  443. 443.  Apr
  444. 444.  2013
  445. 445.  09:20:14
  446. 446.  GMTFriday, April 26, 13
  447. 447. requisições
  448. 448.  condicionais3baseadoem conteúdotambém
  449. 449.  garante
  450. 450.  a
  451. 451.  conferência
  452. 452.  baseada
  453. 453.  em
  454. 454.  uma
  455. 455.  HASHMD5ETagIf-None-MatchFriday, April 26, 13
  456. 456. requisições
  457. 457.  condicionais3Browser
  458. 458.  do
  459. 459.  ClienteServidor
  460. 460.  WebServidor
  461. 461.  Cacherequest requestresponseresponse(com
  462. 462.  os
  463. 463.  cabeçalhos
  464. 464.  dedicados
  465. 465.  a
  466. 466.  cache)armazena
  467. 467.  para
  468. 468.  posterior
  469. 469.  usoCACHE
  470. 470.  DO
  471. 471.  BROWSERCACHE
  472. 472.  DO
  473. 473.  servidorCache-Control
  474. 474.  
  475. 475.  
  476. 476.  
  477. 477.  
  478. 478.  
  479. 479.  
  480. 480.  
  481. 481.  max-age=20,
  482. 482.  s-maxage=20ETag
  483. 483.  
  484. 484.  
  485. 485.  15f0fff99ed5aaa44asd79as7dsa8sdaIf-None-Match
  486. 486.  
  487. 487.  
  488. 488.  15f0fff99ed5aaa44asd79as7dsa8sdaFriday, April 26, 13
  489. 489. CONFIGURANDOWEB.xmlREST
  490. 490.  em
  491. 491.  JAVA
  492. 492.  usando
  493. 493.  jersey4Friday, April 26, 13
  494. 494. REST
  495. 495.  em
  496. 496.  JAVA
  497. 497.  usando
  498. 498.  jersey4DEFININDOOSPATHSFriday, April 26, 13
  499. 499. DEFININDOCABEÇALHOSCacheando
  500. 500.  JSON5Friday, April 26, 13
  501. 501. Cacheando
  502. 502.  JSON5DEFININDOCABEÇALHOSFriday, April 26, 13
  503. 503. Cacheando
  504. 504.  JSON5DEFININDOCABEÇALHOSFriday, April 26, 13

×