<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Http on j2234's log</title><link>https://log.j2234.cc/tags/http/</link><description>Recent content in Http on j2234's log</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026</copyright><lastBuildDate>Thu, 02 Apr 2026 14:19:37 +0000</lastBuildDate><atom:link href="https://log.j2234.cc/tags/http/index.xml" rel="self" type="application/rss+xml"/><item><title>HTTP Header2</title><link>https://log.j2234.cc/posts/velog/038-http-header2/</link><pubDate>Tue, 28 Mar 2023 20:11:55 +0000</pubDate><guid>https://log.j2234.cc/posts/velog/038-http-header2/</guid><description>&lt;p&gt;&lt;a href="./HTTP-header" &gt;HTTP Header1&lt;/a&gt;에서 이어짐&lt;/p&gt;
&lt;hr&gt;

&lt;h2 class="relative group"&gt;검증 헤더1
 &lt;div id="검증-헤더1" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%ea%b2%80%ec%a6%9d-%ed%97%a4%eb%8d%941" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Last-Modified&lt;/code&gt;, &lt;code&gt;if-modified-since&lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;캐시 유효 시간이 초과한 경우, 서버의 데이터는 변경되었을 수도 있다.&lt;/p&gt;
&lt;/blockquote&gt;&lt;ul&gt;
&lt;li&gt;캐시가 만료 후에도 데이터가 변경되지 않았다면, 저장된 캐시 재사용 가능&lt;/li&gt;
&lt;li&gt;❗️단, &lt;strong&gt;데이터가 같다는 사실을 확인할 방법&lt;/strong&gt; 이 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;Last-Modified&lt;/code&gt; 헤더를 통해서 이를 확인&lt;/p&gt;
&lt;p&gt;동작방식&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;서버에서 &lt;code&gt;Last-Modified&lt;/code&gt; 헤더를 전송&lt;/li&gt;
&lt;li&gt;캐시 시간 초과시, 브라우저가 &lt;code&gt;if-modified-since&lt;/code&gt;를 서버에 전송&lt;/li&gt;
&lt;li&gt;서버에서 판단&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;변경안됬으면 &lt;code&gt;304 Not Modified&lt;/code&gt; 응답(데이터전송 ❌) =&amp;gt; 캐시 정보 갱신 &amp;amp; 응답 결과 재사용&lt;/li&gt;
&lt;li&gt;변경됬으면 &lt;code&gt;200&lt;/code&gt; 모든 데이터 포함&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;

&lt;h2 class="relative group"&gt;검증 헤더 2
 &lt;div id="검증-헤더-2" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%ea%b2%80%ec%a6%9d-%ed%97%a4%eb%8d%94-2" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Etag&lt;/code&gt;, &lt;code&gt;If-None-Match&lt;/code&gt;&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://log.j2234.cc/posts/velog/038-http-header2/featured.webp"/></item><item><title>HTTP Header1</title><link>https://log.j2234.cc/posts/velog/039-http-header1/</link><pubDate>Sun, 26 Mar 2023 19:35:18 +0000</pubDate><guid>https://log.j2234.cc/posts/velog/039-http-header1/</guid><description>&lt;h2 class="relative group"&gt;Header란?
 &lt;div id="header란" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#header%eb%9e%80" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;blockquote&gt;&lt;p&gt;Http 전송에 필요한 모든 부가정보 &lt;a href="https://en.wikipedia.org/wiki/List_of_HTTP_header_fields" target="_blank" rel="noreferrer"&gt;&lt;em&gt;엄청많음&lt;/em&gt; &lt;/a&gt;
필요시 임의의 헤더 추가 가능&lt;/p&gt;
&lt;/blockquote&gt;&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="auto"
 alt=""
 width="976"
 height="458"
 src="https://log.j2234.cc/posts/velog/039-http-header1/img/image-01_hu_5e99a24764b72488.webp"
 srcset="https://log.j2234.cc/posts/velog/039-http-header1/img/image-01_hu_5e99a24764b72488.webp 800w, https://log.j2234.cc/posts/velog/039-http-header1/img/image-01.webp 1280w"
 sizes="(min-width: 768px) 50vw, 65vw"
 data-zoom-src="https://log.j2234.cc/posts/velog/039-http-header1/img/image-01.webp"&gt;&lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Message body&lt;/code&gt;로 데이터를 전달 (payload)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;header&lt;/code&gt;는 데이터를 해석할 수 있는 정보 제공 (유형, 길이 &amp;hellip;.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;** 표현 = 표현 메타데이터 + 표현 데이터 **&lt;/p&gt;
&lt;hr&gt;

&lt;h2 class="relative group"&gt;표현 (Representation)
 &lt;div id="표현-representation" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%ed%91%9c%ed%98%84-representation" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;blockquote&gt;&lt;p&gt;표현 헤더는 전송, 응답 둘다 사용함&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://log.j2234.cc/posts/velog/039-http-header1/featured.webp"/></item><item><title>HTTP 상태코드</title><link>https://log.j2234.cc/posts/velog/040-http-%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C/</link><pubDate>Sun, 26 Mar 2023 19:17:44 +0000</pubDate><guid>https://log.j2234.cc/posts/velog/040-http-%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C/</guid><description>&lt;ul&gt;
&lt;li&gt;1xx : 처리중 (거의 사용 안함)&lt;/li&gt;
&lt;li&gt;2xx : 정상처리&lt;/li&gt;
&lt;li&gt;3xx : 추가 행동 필요&lt;/li&gt;
&lt;li&gt;4xx : 클라이언트 오류&lt;/li&gt;
&lt;li&gt;5xx : 서버 오류&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;인식할 수 없는 상태코드는 상위상태코드 (ex 299=&amp;gt;2xx)로 해석&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;

&lt;h2 class="relative group"&gt;2xx 성공👍
 &lt;div id="2xx-성공" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#2xx-%ec%84%b1%ea%b3%b5" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;200&lt;/code&gt; &lt;em&gt;OK&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;201&lt;/code&gt; &lt;em&gt;CREATED&lt;/em&gt; : (리소스 생성)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;202&lt;/code&gt; &lt;em&gt;Accepted&lt;/em&gt; : (요청이 접수되었으나, 처리가 완료되지 않음 ) (ex 배치처리)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;204&lt;/code&gt; &lt;em&gt;No Content&lt;/em&gt; : (서버에서 요청을 수행했지만, 응답 본문에 보낼 데이터는 없음)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;

&lt;h2 class="relative group"&gt;3xx (Redirection) ▶️▶️
 &lt;div id="3xx-redirection-" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#3xx-redirection-" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;

&lt;h3 class="relative group"&gt;리다이렉션이란?
 &lt;div id="리다이렉션이란" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%eb%a6%ac%eb%8b%a4%ec%9d%b4%eb%a0%89%ec%85%98%ec%9d%b4%eb%9e%80" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;blockquote&gt;&lt;p&gt;웹 브라우저는 3xx 응답에 Location 헤더가 있으면, 자동으로 Location 위치로 이동&lt;/p&gt;</description></item></channel></rss>