亚洲欧美日韩综合系列在线_91精品人妻一区二区_欧美大肥婆一级特大AA片_九色91视频免费观看_亚洲综合国产精品_av中文字幕在线不卡_久久精品色综合网_看黄色视频的软件_无卡无码高清中文字幕码2024_亚洲欧美日韩天堂网

Java面試之Get請(qǐng)求和Post請(qǐng)求

來源:辣子雞 發(fā)布時(shí)間:2020-05-12 11:03:57 閱讀量:1726

前言

     之前一次面試時(shí)面試官問到了Get請(qǐng)求和Post請(qǐng)求的區(qū)別,對(duì)于web基礎(chǔ)來說這個(gè)還是比較重要的,所以我打算整理一下分享給大家,以下是我個(gè)人的一些總結(jié),如果大神有更好的理解,歡迎補(bǔ)充。


從三個(gè)方面來總結(jié)

Get請(qǐng)求和Post請(qǐng)求的區(qū)別

優(yōu)缺點(diǎn)

何時(shí)用Get請(qǐng)求,何時(shí)用Post請(qǐng)求

正文

1、Get請(qǐng)求和Post請(qǐng)求的區(qū)別

我們主要從五個(gè)角度去分析兩者的區(qū)別:


1、請(qǐng)求的形式


GET請(qǐng)求:把請(qǐng)求的數(shù)據(jù)放在URL上,用?分割URL和傳輸?shù)臄?shù)據(jù),多個(gè)參數(shù)的話用&符號(hào)連接。

    舉個(gè)例子,“ http://www.laziji.com?id=11&name=laziji ”在這個(gè)地址里面,?后面的時(shí)請(qǐng)求的參數(shù),這里有兩個(gè)參數(shù)id和name,值分別為“11”和“l(fā)aziji”??偨Y(jié):1.參數(shù)就是傳給后臺(tái)取值的,“?”是解析的開始點(diǎn),“&”是將多個(gè)參數(shù)進(jìn)行連接的。2.URL的結(jié)構(gòu):“協(xié)議://域名或IP地址:端口號(hào)/目錄/文件名.文件名后綴?參數(shù)1=值1&參數(shù)2=值2”


POST請(qǐng)求:把請(qǐng)求的數(shù)據(jù)放在HTTP請(qǐng)求包的包體中(requrest body)。

    POST請(qǐng)求包含兩個(gè)部分:請(qǐng)求頭(header)和請(qǐng)求體(body)


2、傳輸數(shù)據(jù)的大小


   GET請(qǐng)求:雖然在HTTP規(guī)范中沒有對(duì)URL的長度和傳輸數(shù)據(jù)的大小做限制,但是實(shí)際情況下,瀏覽器一般會(huì)限制url的長度不超過2k個(gè)字節(jié),提交的數(shù)據(jù)最大是2k。


   POST請(qǐng)求:理論上也是不限制的,但是實(shí)際上服務(wù)器會(huì)對(duì)post提交數(shù)據(jù)的大小做限制。


3、安全性


    GET請(qǐng)求:在傳輸數(shù)據(jù)時(shí)會(huì)將數(shù)據(jù)保留在瀏覽器的歷史記錄中,而且傳輸?shù)臄?shù)據(jù)參數(shù)會(huì)顯示在url中,所有人都可以查看,安全行低。


    POST請(qǐng)求:在請(qǐng)求時(shí)數(shù)據(jù)是存放在請(qǐng)求包中的,不顯示在url中,并且數(shù)據(jù)不會(huì)保留在瀏覽器的歷史記錄中。


4、編碼方式


    GET請(qǐng)求只能ASCII編碼;POST請(qǐng)求支持多種編碼方式。


5、對(duì)服務(wù)器的操作


    GET請(qǐng)求:只是從服務(wù)器獲取數(shù)據(jù),不進(jìn)行修改。


    POST請(qǐng)求:向服務(wù)器提交數(shù)據(jù),可能更新數(shù)據(jù),也就更改了服務(wù)器的數(shù)據(jù)。


2、優(yōu)缺點(diǎn)

get請(qǐng)求比post請(qǐng)求快。

    get產(chǎn)生一個(gè)TCP數(shù)據(jù)包,post產(chǎn)生兩個(gè)TCP數(shù)據(jù)包;


GET請(qǐng)求:瀏覽器將header和data一起發(fā)送,服務(wù)器響應(yīng)200(返回?cái)?shù)據(jù))。POST請(qǐng)求:瀏覽器先將header發(fā)送,服務(wù)器響應(yīng)100 continue,瀏覽器再將data發(fā)送,服務(wù)器響應(yīng)200(返回?cái)?shù)據(jù))。


get會(huì)將數(shù)據(jù)保留在瀏覽器的歷史記錄中,post不會(huì)。

post不能進(jìn)行管道化傳輸。

3、何時(shí)用Get請(qǐng)求,何時(shí)用Post請(qǐng)求

適合使用GET請(qǐng)求的情況:


用來查找資源,HTML表單數(shù)據(jù)只是用來幫助搜索。

請(qǐng)求結(jié)果無持續(xù)性的副作用。

收集的數(shù)據(jù)及HTML表單內(nèi)輸入的字段名稱不超過1024個(gè)字符

適合使用POST請(qǐng)求的情況:


請(qǐng)求結(jié)果有持續(xù)性的副作用。如修改數(shù)據(jù)、添加數(shù)據(jù)。

當(dāng)使用get方法URL過長時(shí)改用post方法。

要傳輸?shù)臄?shù)據(jù)不是采用7位的ASCII編碼。



標(biāo)簽: PHP 環(huán)境搭建
分享:
評(píng)論:
你還沒有登錄,請(qǐng)先