关于http协议的一些学习笔记

1.http请求头部信息

  • Accept :浏览器能处理的内容类型 。MIME 类型(text/htmlimage/pngapplication/json等), * / * 指任意类型
  • Accept-Charset:浏览器能够显示的字符集。
  • connection:浏览器与服务器之间连接的类型(HTTP请求发送之前,需要先建立TCP连接,只有TCP连接建立,才可以发送HTTP请求。)keep-alive网络连接就是持久的,不会关闭,使得对同一个服务器的请求可以继续在该连接上完成;也就是说:在一次tcp连接中可以连续发送多次数据,即可以保持一段时间的tcp连接,在这个保持的通道上有多个request、多个response。而不用每发一次数据就要重新进行三次握手连接,发完一次数据就要立即进行四次挥手释放连接。 这样可以提高性能和吞吐率。
  • Access-Control-Allow-Origin:响应头指定了该响应的资源是否被允许与给定的origin共享(也就是跨域)。
  • Cookie:设置当前client和server的任何Cookie,键值格式cookie一般会设置clientserver之间的唯一会话标志Cookie:设置当前clientserver的任何Cookie,键值格式。cookie一般会设置clientserver之间的唯一会话标志.
  • content-type:实体头部用于指示资源的MIME类型media type。(1)application/x-www-form-urlencoded (请求默认设置):一串字符串,提交的数据按照 key1=val1&key2=val2 的方式进行编码;(2)multipart/form-data:请求体也是一个字符串,多用于文件上传 (3)application/json:服务端消息主体是序列化后的 JSON 字符串。(4)text/xml

2.请求格式

  • 请求行:方法URL议/版本
  • 请求头:一般放用户信息
  • 请求正文:一般放一些表单数据

GET/sample.jspHTTP/1.1
Accept:image/gif.image/jpeg,/
Accept-Language:zh-cn
Connection:Keep-Alive
Host:localhost
User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)
Accept-Encoding:gzip,deflate
username=jinqiao&password=1234

代码中“GET”代表请求方法,“/sample.jsp”表示URI,“HTTP/1.1代表协议和协议的版本。

GET/sample.jsp HTTP/1.1

请求头包含许多有关的客户端环境和请求正文的有用信息。例如,请求头可以声明浏览器所用的语言,请求正文的长度等。

Accept:image/gif.image/jpeg./
Accept-Language:zh-cn
Connection:Keep-Alive
Host:localhost
User-Agent:Mozila/4.0(compatible:MSIE5.01:Windows NT5.0)
Accept-Encoding:gzip,deflate.

请求正文 :请求头和请求正文之间是一个空行,这个行非常重要,它表示请求头已经结束,接下来的是请求正文

username=jinqiao&password=1234

3.关于cookie和session

  • Cookie的主要内容包括:名字,值,过期时间,路径和域。以键值的方式保存于客户端
  • Session作用于服务端。浏览器第一次发送请求时,服务器自动生成了一HashTable和一Session ID来唯一标识这个HashTable,并将其通过响应发送到浏览器。浏览器第二次发送请求会将前一次服务器响应中的Session ID放在请求中一并发送到服务器上。
  • 单点登录的原理是后端生成一个 session ID,设置到 cookie,后面所有请求浏览器都会带上cookie,然后服务端从cookie获取session ID,查询到用户信息.

你可能感兴趣的:(关于http协议的一些学习笔记)