1、http请求报文组成:
image.png2、http响应报文:
image.pngHTTP响应也由三个部分组成,分别是:状态行、消息报头、响应正文。
3、HTTP请求头:
image.pngAccept:告诉服务端 客户端接受什么类型的响应(如text/plain )
Cookie :JSessionID之类的,也就是通过这个将服务端的session关联起来
Referer:表示这个请求是从哪个URL过来的,比如百度里点开一个广告,这个请求的Referer就是baidu.com
Cache-Control:对缓存进行控制,(如下设置,让服务端将对应请求返回的内容不在要客户端缓存:Cache-Control:no-cache)
Host:客户端指定自己想访问的WEB服务器的域名/IP 地址和端口号。如Host:rss.sina.com.cn
User-Agent:浏览器表明自己的身份是哪个浏览器
4、HTTP响应头:
Server:WEB 服务器表明自己是什么软件及版本等信息。例如:Server:Apache/2.0.61 (Unix)
Content-Encoding:WEB服务器表明自己使用了什么压缩方法(gzip,deflate)压缩响应中的对象。例如:gzip
Content-Type:WEB 服务器告诉浏览器自己响应的对象的类型。例如:Content-Type:application/xml
Etag:就是一个对象(比如URL)的标志值,就一个对象而言,比如一个html文件,如果被修改了,其Etag也会别修改,所以,ETag的作用跟Last-Modified的作用差不多,主要供WEB服务器判断一个对象是否改变了。
5、常见响应状态码:
1XX消息:一般是告诉客户端,已经收到请求了,正在处理,别急
2XX处理成功:(200 OK)
3XX重定向到其他地方:让客户端再发起一次请i去以完成整个过程(303 See Other)
4XX处理发生错误,责任在客户端,如客户端请求一个不存在的资源(404 Not Found)
5XX处理发生错误,责任在服务端,如服务端抛出异常(500 Internal Server Error,504 服务器超时)
6、Get和Post区别:
-
Get提交将请求参数暴露在请求行(request-line)中,Post提交把数据放置在Http包的包体(request-body)中,所以post比get更安全。
-
数据传输大小不同,Get通过URL传输数据有限,而Post通过数据流传递数据比get大
-
Get一般用于获取数据,Post一般用于提交数据
网友评论