我是一個服務(wù)器,名字是www.lingyv.cn,門牌號是121.42.155.28,每天得工作就是跟各種瀏覽器打交道。他們總來我這要求取信息、存信息、刪信息??上也攀鑼W淺,只稍微學過HTTP協(xié)議,所以看得懂用HTTP規(guī)定格式發(fā)過來的請求信,當然,回復他的時候也是用HTTP規(guī)范寫回信。
我家有一個看門的人(服務(wù)器進程),每當有瀏覽器想找我時,他就會過來通知我。
這不,說著說著他就進來了。
“報~~~有瀏覽器找您。”
“好,跟他連線。”
OK,TCP連接已建立……
噠噠噠………打印機將請求報文打印了出來。
我拿過來看了看。
只見第一行寫著。
“GET /student/composition/index.html HTTP/1.1”
“恩,這是用1.1版本HTTP規(guī)范寫的。原來是找我要student文件夾里composition文件夾中的index.html文件啊?!蔽以谛睦锬睢?/p>
轉(zhuǎn)眼掃到第二行:“Host:www.lingyv.cn ”恩,是找我的沒錯。接著往下看
第三行:“Connerction:keep-alive”噢,他跟我說給他發(fā)完index.html后不要關(guān)閉跟他的連接
接著看第四、第五行:
“Accept:text/html”
“Accept-Language:zh-CN”
這是在告訴我他能接收哪些類型的信息以及他能接收的語言啊。然后看最后一行:
“User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36”
噢~~~這是在跟我表明自己的身份啊。
看完請求報文。我已經(jīng)明白了這位瀏覽器客戶的需求。趕緊找到index.html文件,給這位瀏覽器客戶回信(響應(yīng)報文)。
首先表明我使用的規(guī)范以及他的請求是成功的。
“HTTP/1.1 200 OK”
然后表明我接受獲取他獲取文件的請求
“Accept-Ranges: bytes”
接著告訴他我給他文件的類型
“Content-Type:text/html; charset=UTF-8“
寫上日期時間:
“Date:Wed, 13 Apr 2016 13:17:32 GMT“
告訴他我的個人信息:
“Server:Apache/2.0.61 (Unix)”
告訴他內(nèi)容的長度:
“Content-Length:1350”
……
把這些聲明(響應(yīng)頭)寫完了。接下來空一行把他想要的文件內(nèi)容copy進去(響應(yīng)體)。
好了,所有東西寫完,我就把信(響應(yīng)報文)給這位瀏覽器客戶發(fā)了過去,讓他得到自己想要的文件信息。