秋招准备-web-HTTP协议小点总结

1.HTTP协议
2.请求响应模型
3.URI/URL
4.HTTP/HTTPS
5.HTTP报文
6.请求方法
7.状态码
8.首部分类
9.MIME
10.Cookie
11.HTTP请求过程
12.访问网站全过程


1.HTTP协议
    HTTP协议,是客户端和服务器端之间数据传输的格式规范,超文本传输协议。


2.请求响应模型。
    基于HTTP协议,客户端和服务器端之间的数据传输是采用的请求响应模型,客户端,在当前一般即指浏览器,用户访问浏览器,通常需要请求资源,那么就向服务器端发送一个请求报文,然后服务器端接受后进行资源的处理,然后将客户端需要的资源,以响应报文的形式发送回客户端。


3.URI/URL
    首先说一下资源,即网络上的各种信息和数据,像图片,文字,声音,视频等。
    URI,统一资源标识符,用来唯一标识一个资源。
    URL,统一资源定位符,它是一种具体的URI,用来标识一个资源,且指明了如何定位到这个资源。一般由三部分组成:1.协议。2.存放资源的服务器IP或域名,(有时也有端口号)。3.服务器资源自身的名称,即路径。
    URL,又分相对URL和绝对URL,这个和相对路径绝对路径差不多。都是在定位资源的时候,可以根据情况选择。


4.HTTP/HTTPS
1.端口号不同,HTTP是80端口,HTTPS是443端口。2.安全性不同,HTTP是明文传输的,不安全,而HTTPS则经过了加密,需要SSL证书,它是安全的。


5.HTTP报文
HTTP报文,是HTTP应用程序间发送的数据块。
请求报文:由三部分组成,起始行,首部字段信息,主体。
请求报文的起始行是三个信息:请求方法,URL,HTTP协议版本
响应报文的起始行则是:HTTP协议版本,状态码,原因短语。


6.请求方法(get和post的区别)
请求方法,即客户端希望服务器端对资源执行的动作。
get,请求服务器发送某个资源。比较常见,比如在地址栏后增加查询字符串,请求超链接,以及表单form的默认提交方法,都是get方法。
post,向服务器写入数据。比如文件上传,则要用post方法。
update、delete等
get方法和post方法的区别是:1.功能不一样。2.get传输的数据,是附在url后的,而post则是放在主体中。3.传输数据上,get有大小限制,而post没有。4.安全性,实际也是相对的。


7.状态码
状态码是客户端请求服务器端的返回结果,标识服务器端处理请求是否正常,通知错误。
常见状态码:;
200:请求正常。
3xx:重定向,要完成请求,需要进一步操作,一般就是再次请求某个url。服务器会在响应报文的首部字段location中,写入客户端要重定向的url。302/307临时重定向。
400:请求语法有误,服务器无法识别。
403:服务器拒绝请求,对应资源被禁止访问。
404:服务器无法找到对应资源。
500:服务器内部错误。
503:服务器超负荷或在维护,无法处理请求。


8.首部分类
通用首部:Date 报文生成时间...
请求首部字段:Accept 可处理媒体类型。Host 请求资源所在服务器。Cookie 
响应首部字段:Server HTTP服务器(阿里的Tengine)。Location。
实体首部字段:Allow,资源可支持的HTTP方法。Content-Type 实体主类类型。


9.MIME
多用途互联网邮件扩展。
客户端使用MIME类型解释与处理其内容。
形式:一个主媒体跟一个(/)以及一个子媒体类型。
text/html.text/plain.text/xml.application/json.Image/jpeg.


10.Cookie
HTTP是无状态协议,对事务处理没有记忆功能,缺乏状态意味着如果后续处理需要前面的信息,而如果没有前面信息就要重新请求。
Cookie就是用来在客户端和服务器端自动传输的一小块信息。
原理:首次访问服务器时,会创建Cookie信息,并作为响应首部字段的部分返回给客户单进行保存。客户端再次访问服务器时,将匹配的Cookie作为请求首部字段发送给服务器端,那么服务器端就可以通过Cookie上的信息,知道这是个老用户。
Cookie的缺点:1.用户可以禁用。2.安全性不高。3.Cookie有数据大小限制。


11.HTTP原理★
一次完整的HTTP请求经历的7个过程。
1.建立TCP连接。
在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,通过TCP完成,TCPIP协议共同构建Internet。HTTP是比TCP更高层的应用层协议。
2.Web浏览器发送请求行(初始行)
3.Web浏览器发送请求头(别的信息)
4.Web服务器应答(初始行)
5.Web服务器发送应答头(请求资源)
6.Web服务器向浏览器发送数据(以Content-Type应答头信息描述的格式发送用户请求的实际数据)
7.Web服务器关闭TCP连接


12.请求一个网站的全过程
在浏览器的地址栏输入url后:
1.开始进行域名解析。
(1.浏览器搜索自身dns缓存。2.操作系统自身dns缓存。3.本地hosts文件。4.请求DNS服务器.)
2.浏览器获取域名对应的ip地址后,发起tcp的三次握手。
3.tcp/ip连接建立后,浏览器可以向服务器发起http请求.
4.服务器接受请求,根据路径参数,经过后端的一些处理后,把处理后的结果数据返回给浏览器。如果是一个完整的网页,就把完整的html页面代码返回给浏览器。
5.浏览器拿到html页面代码,解析和渲染页面,里面的js、css图片资源都需要经过上面的不走。
6.浏览器最后将完整的页面呈现给用户。

你可能感兴趣的:(秋招准备)