http网络数据流

1、http请求报文组成:

image.png

2、http响应报文:

HTTP响应也由三个部分组成,分别是:状态行、消息报头、响应正文。

image.png

3、HTTP请求头:

image.png
Accept:告诉服务端 客户端接受什么类型的响应(如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区别:

  1. Get提交将请求参数暴露在请求行(request-line)中,Post提交把数据放置在Http包的包体(request-body)中,所以post比get更安全。

  2. 数据传输大小不同,Get通过URL传输数据有限,而Post通过数据流传递数据比get大

  3. Get一般用于获取数据,Post一般用于提交数据

你可能感兴趣的:(http网络数据流)