2023年6月27日发(作者:)
http请求数据的格式详细解释http请求报包含三个部分:请求⾏ + 请求头 + 数据体请求⾏包含三个内容 method + request-URI + http-versionmethod 包含有 post , get, head,delete, put, connect, options, patch, propfind, propatch, mkcol, copy, move, lock, unlock,trace, head⽅法:get
post
通过请求URI获得资源⽤于添加新的资源,⽤于表单提交⽤于修改某个内容删除某个内容⽤于代理进⾏传输例如SSL询问可以执⾏那些⽅法部分⽂档更该查看属性设置属性创建集合拷贝移动加锁解锁⽤于远程诊断服务器类似于get,⽤于检查对象是否存在⽤于得到元数据put
delete
connect
options
patch
propfind
proppatch
mkcol
copy
move
lock
unlock
trace
head
主要介绍get⽅法和post⽅法get⽅法:post⽅法: 传输数据不在url中,⽽在数据段中出现,并且请求头多了Content-Type 和 Content-Length,post提交表单数据的时候⽐get⽅法更安全post⽅法提交表单和get⽅法提交表单相⽐较:1>get明⽂传输,信息附加在url上⾯,get明⽂传输,post更加安全2> get传输有⼤⼩限制,应该是3k,post需要制定传输类型3 >get多⽤于获取数据,根据get变量的不同调⽤不同的数据,post多⽤于提交数据,提交⽤户输⼊的数据get⽅法和post⽅法的区别:1>Get是向服务器发索取数据的⼀种请求,⽽Post是向服务器提交数据的⼀种请求2>Get是获取信息,⽽不是修改信息,类似数据库查询功能⼀样,数据不会被修改3>Get请求的参数会跟在url后进⾏传递,请求的数据会附在URL之后,以?分割URL和传输数据,参数之间以&相连,%XX中的XX为该符号以16进制表⽰的ASCII,如果数据是英⽂字母/数字,原样发送,如果是空格,转换为+,如果是中⽂/其他字符,则直接把字符串⽤BASE64加密。4>Get传输的数据有⼤⼩限制,因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了,不同的浏览器对URL的长度的限制是不同的。5>GET请求的数据会被浏览器缓存起来,⽤户名和密码将明⽂出现在URL上,其他⼈可以查到历史浏览记录,数据不太安全。在服务器端,⽤tring来获取Get⽅式提交来的数据6>Post请求则作为http消息的实际内容发送给web服务器,数据放置在请求体中,Post没有限制提交的数据。Post⽐Get安全,当数据是中⽂或者不敏感的数据,则⽤get,因为使⽤get,参数会显⽰在地址,对于敏感数据和不是中⽂字符的数据,则⽤post7>POST表⽰可能修改变服务器上的资源的请求,在服务器端,⽤Post⽅式提交的数据只能⽤来获取请求⾏例如 : GET /icwork/? Search = product HTTP/1.1请求头请求头包含:Accept:指浏览器或其他客户可以接爱的MIME⽂件格式。Servlet可以根据它判断并返回适当的⽂件格式。User-Agent:是客户浏览器名称Host:对应⽹址URL中的Web名称和端⼝号。Accept-Langeuage:指出浏览器可以接受的语⾔种类,如en或en-us,指英语。connection:⽤来告诉服务器是否可以维持固定的HTTP连接。http是⽆连接的,HTTP/1.1使⽤Keep-Alive为默认值,这样,当浏览器需要多个⽂件时(⽐如⼀个HTML⽂件和相关的图形⽂件),不需要每次都建⽴连接Cookie:浏览器⽤这个属性向服务器发送Cookie。Cookie是在浏览器中寄存的⼩型数据体,它可以记载和服务器相关的⽤户信息,也可以⽤来实现会话功能。User-Agent:是客户浏览器名称。Content-Type:⽤来表名request的内容类型。可以⽤HttpServletRequest的getContentType()⽅法取得。Accept-Charset:指出浏览器可以接受的字符编码。英⽂浏览器的默认值是-Encoding:指出浏览器可以接受的编码⽅式。编码⽅式不同于⽂件格式,它是为了压缩⽂件并加速⽂件传递速度。浏览器在接收到Web响应之后先解码,然后再检查⽂件格式。getf⽅法请求头例如:Accept:image/webp,image/*,*/*;q=0.8Accept-Encoding:gzip, deflate, sdch, brAccept-Language:en-US,en;q=0.8Connection:keep-aliveCookie:PSTM=1466499789; BAIDUID=D3A617EE01FFA9DB9B7E3E5F0D3A01EE:FG=1; BIDUPSID=4AA34EC11075CB66B8BC9792DD422B6F;
BDUSS=VCc1M0cVQtYnFGfmxTUW5kVTUydnBZUmhiWFRXbnRlMnpIdWV2ODVxNHZ1WkZYQVFBQUFBJCQAAAAAAAAAAAEAAADkEA1ZtPO3rMfRt6zH0cfRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8salcvLGpXdz; BD_HOME=1;
BD_UPN=123353; BDRCVFR[feWj1Vr5u3D]=I67x6TjHwwYf0; BD_CK_SAM=1;
H_PS_PSSID=19292_18286_1458_20318_18241_20369_17942_20388_19690_20417_18560_17001_15560_12277_20253; BDSVRTM=0Host:erer:/s?wd=http%20%E8%AF%B7%E6%B1%82%E6%95%B0%E6%8D%AE%E7%9A%84%E6%95%B0%E6%8D%AE%E5%8C%85%E6%A0%BC%E5%BC%8F&rsv_spt=1&rsv_iqid=0x9b746a8000022af9&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&rqlang=cn&tn=baiduhome_pg&rsv_enter=1&oq=http%20%E8%AF%B7%E6%B1%82%E6%96%B9%E5%BC%8Fpost%20url%E6%A0%BC%E5%BC%8F&rsv_t=59fb7cEn5xgK8JFpqQ7F7coy6k6dn5sGpEMj1cDM4oMoy0TGArJ2l3fxOqy6F9lXoqoi&inputT=7936&rsv_pq=ca5859d100027005&rsv_sug3=73&rsv_sug1=12&rsv_sug7=100&rsv_sug2=0&rsv_sug4=32020User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36post⽅法的请求头Accept:*/*Accept-Encoding:gzip, deflate, brAccept-Language:en-US,en;q=0.8Authorization:Basic WkEtMTE0MjcyNjAyMDY=Connection:keep-aliveContent-Length:666Content-Type:application/jsonHost:gin:erer:/question/41690822User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36Request Payloadview source相⽐之下多了content-Type 和 Content-LengthContent-Type:表⽰的是请求报⽂体的 MIME 类型 ,注:GET的请求消息体是空的 所以不需要指定消息体的MIME类型Content-Length:表⽰的是 post的数据的长度
例如请求数据:1 GET/P/1.12 Accept:image//jpeg,*/*3 Accept-Language:zh-cn4 Connection:Keep-Alive5 Host:localhost6 User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)7 Accept-Encoding:gzip,deflate8
9 username=jinqiao&password=1234第⼀⾏为http请求⾏,包含⽅法,URI 和http版本1-7为请求头,包含浏览器,主机,接受的编码⽅式和压缩⽅式第8⾏表⽰⼀个空⾏ 表⽰请求头结束 这个空⾏是必须的第9⾏是数据体,⽐如是需要查询的信息。http响应体由三部分组成:http响应由三个部分组成分别是状态⾏,响应头,响应正⽂。状态⾏是由:HTTP-Version+Status-Code+Reason-Phrase⽐如:HTTP/1.1 200 ok分别表⽰http版本 + 状态码 + 状态代码的⽂本描述状态码: 1xx2xx3xx4xx5xx指⽰信息–表⽰请求已接收,继续处理成功–表⽰请求已被成功接收、理解、接受重定向–要完成请求必须进⾏更进⼀步的操作。客户端错误–请求有语法错误或请求⽆法实现。服务器端错误–服务器未能实现合法的请求。响应头:包含服务器类型,⽇期,长度,内容类型等Server:Apache Tomcat/5.0.12Date:Mon,6Oct2003 13:13:33 GMTContent-Type:text/htmlLast-Moified:Mon,6 Oct 2003 13:23:42 GMTContent-Length:112 响应正⽂响应正⽂就是服务器返回的HTML页⾯
发布者:admin,转转请注明出处:http://www.yc00.com/web/1687864898a51962.html
评论列表(0条)