---
# System prepended metadata

title: 12th 鐵人賽 Day_07 session ?
tags: [12th 鐵人賽]

---

---
title: 12th 鐵人賽 Day_07 session ?
tags: 12th 鐵人賽
--- 
# 12th 鐵人賽 Day_07 session ?

嗨！各位朋友大家好，打給後，歹嘎吼，胎尬喉，我是阿圓，有請今天的 one piece:
![](https://i.imgur.com/GFTTk7h.jpg)
(突然發現我居然沒有放過魯夫的正面！囧)
之前上課時，有關於session與cookie的概念一直弄的很模糊，想到之後在部落格上可能會用到，所以嘗試來解釋一下！

## session ?
先來延續之前[MVC架構](https://ithelp.ithome.com.tw/articles/10235343)的比喻，當我對餐廳點菜的時候，相當於我發了一個request，而廚房，也就是server，會回復我一個response。

但是！http是不存在狀態一說的，也就是說，我每次到餐廳點菜，對於廚房來說，我就是一個新的顧客，即使我每次都點一樣的菜，我還是沒辦法跟廚房說：“給我來一份老樣子！”，因為廚房根本不記得我是誰，也不會記得我平常點了什麼，因為他記不住我的狀態！

![](https://i.imgur.com/Qb0fI73.png)

更極端一點的例子是，當我點了第一道菜，想要再點第二道的時候，廚房就認不出我了！
![](https://i.imgur.com/p6E8Syj.png)

而為了讓我們的 server 記住我的狀態，session 就出現了！

session 是什麼？他是能夠讓 request 變成有狀態的一種機制，有點像廚房發了張紙條給我，裡面記了我點的所有菜，最後只要把這張紙條交給廚房，這樣他就知道我點了哪些東西了。

而實作 session 機制的方法有很多，以下介紹兩種：
#### 第一種是把狀態附在網址裡，一起送給 server
先來看一個網站 [GitHub Jobs](https://jobs.github.com/) ，上面會有兩個條件分別可以打入關鍵字和工作所在的地區，用來讓你搜尋想要的工作。
    ![](https://i.imgur.com/IQCLySk.png)
而當我輸入搜尋條件，並按下送出：
![](https://i.imgur.com/0ApBTtS.png)
有看到網址的變化嗎？
    
    


#### 使用cookie 與 session 來做搭配
而第二種，也是很常使用的一種，所謂 cookie，有點像是你去餐廳點餐後的明細單，他記錄了你點的所有菜，可以給服務生來做確認。

今天先簡單講到這裡我們明天再來細細說明！
![](https://i.imgur.com/2hTPioB.jpg)

感謝各位看到這邊，若有任何建議，請各位不吝指教！我們明天見！
![](https://i.imgur.com/PPbpd2b.gif)

----
#### 參考文章
[白話 Session 與 Cookie：從經營雜貨店開始](https://bre.is/E3onkFYt)

