HTTP协议小记
应用层上的协议非常重要的一个协议是HTTP协议。 这个协议包括了请求和回复两种报文类型。 请求和回复报文的内容形式是 1)起始行 2)首行 3)消息体 请求报文的内容格式是 <version><request-url><method> <headers> <entity-body> 回复报文的内容格式是 <version><status><reason-pharse> <headers> <entity-body> 报文中标签代表的含义是 method:指请求方法,主要的方法为GET和POST。 request-url:指请求路径/地址 version:指协议版本,现在通常是http/1.1 status:指响应状态码,主要的响应状态例如200,404。 reason-pharse:原因短语,200 Ok、404 No Found 这种后面描述的就是原因短语,不必太过关注。 method 请求方法使用频繁的是Get和POST。面试的时候通常被问到这两个方法有什么区别。这里我们来谈一谈。 GET和POST在传输形式上有一些差异。GET请求时,会在request-url地址后拼接参数,格式是url?parm1=ss&parm2=dd。 所以,这样的形式会在地址栏中暴露参数。由于url地址采用ASCII编码,如果参数中有Unicode编码的字符,例如汉字,需要转码后传输。