http相關知識點

http相關知識點

http是一種基於tcp協議的無狀態的應用層協議,1.1加入keepAlive機制
由三部分組成

請求行
消息報頭
請求體

1.常用的http方法有哪些

  • .get 請求被uri識別的資源
  • post 用於傳輸信息給服務器,主要功能與GET方法類似,但一般推薦使用POST方式。
  • head 獲得報文首部,與GET方法類似,只是不返回報文主體,一般用於驗證URI是否有效。
  • delete 刪除文件,與PUT方法相反,刪除對應URI位置的文件。
  • put 傳遞文件

2.get與post區別

  • get只能傳遞文本,不能傳遞文件,並且get傳遞文本長度受url長度限制
  • get傳遞文本在url裏,而post在消息體裏,稍微安全一些
  • get只支持ASCII編碼,可能會有亂碼,post可以正確傳輸正文

3.keepAlive

只要一端不斷開,tcp不會斷開
由於是通過pipeline,一次可以發送多個請求

4.常見header

請求行

包含請求方法、URI、HTTP版本信息

通用頭

  • Date
  • Connection
  • CacheControl

請求頭

  • Accept:application/json, text/javascript, /; q=0.01 可以處理的媒體類型
  • Accept-Encoding:gzip, deflate
  • Accept-Language:zh-CN,zh;q=0.8 課接收的語言
  • Connection:keep-alive
  • Host:123.56.13.168:8080 請求地址
  • Origin:http://123.56.21.172:94 來源
  • User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36

狀態行

包含HTTP版本、狀態碼、狀態碼的原因短語

響應頭

  • Access-Control-Allow-Credentials:true 是否允許將返回值暴露給頁面
  • Access-Control-Allow-Origin:http://123.56.21.172:94 限制跨域
  • Access-Control-Allow-Methods: 允許的方法
  • Content-Length:105
  • Content-Type:application/json;charset=UTF-8 返回值類型
  • Date:Sat, 29 Jul 2017 02:13:26 GMT
  • ETag:”04578e78098b351258cd1881c679d2614” etag用來表示返回值是否相同
  • Server:Apache-Coyote/1.1
  • Vary:Origin

響應體

5.狀態碼

302 :重定向,這個時候,響應頭裏的location會包含地址
方法一
response.setStatus(302);
response.setHeader(“location”, “/day06/index.jsp”);
方法二
response.sendRedirect(“/day06/index.jsp”);

6.如何理解http無狀態以及如何解決

  • 通過cookie保存jessionId,這個時候可以通過session,這個方式只能保證單機,集羣的化可以用nginx sticky ip或者可以用redis來存登錄狀態

http://www.itmayiedu.com/front/articleinfo/50.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章