2019.10.23学习日记
计划:
1.搞懂HTTP协议是什么,它有什么特点?
2.一个HTTP请求和响应是如何开始和结束的?
3.HTTP协议在ASP.NET和ASP.NET CORE中的使用
笔记:
1.HTTP首先是一种无状态协议,在不使用cookies的情况下,客户端、服务端都不会保存任何连接状态,也就是说双方都不知道之前发生过什么连接、传输过什么数据。这样做的目的是减少资源的耗费,让服务器可以同时处理更多的事务。在使用HTTP1.1时,可以启用cookies来保存通信的状态。
HTTP方法:
GET:一般用来请求获取资源,比如获取简单的一些数据信息、订单信息等响应的主体内容。
POST:一般用来传输实体内容,在面向对象的开发语言中就是传入一个实体到请求中,然后做相应的处理。比如需要提交一个复杂的实体数据到服务器,然后服务器接口进行一系列的逻辑操作。一般POST请求的目的不是为了获取响应的主体内容。
PUT:上传文件。要求在请求报文的实体中包含文件内容,然后保存到请求URI的指定位置。因为HTTP1.1的PUT方法没有验证机制,任何人都可以上传文件,所以一般不使用这种方法。当配合Web应用程序的验证机制,或遵守REST标准时有可能会开放使用。
DELETE:删除文件。与PUT方法一样,HTTP1.1的DELETE方法没有验证机制,任何人都可以删除文件,所以一般不使用这种方法。当配合Web应用程序的验证机制,或遵守REST标准时有可能会开放使用。
HEAD:获得报文首部。使用起来跟GET一样,区别是HEAD请求返回的是请求头部,不返回响应主体内容。主要用于确认URI的有效性以及获取资源的更新时间。
OPTIONS:询问请求该URI支持的方法。
TRACE:追踪路径,一般用于检查自己的请求是否被别的中转服务器劫持,不常用。
CONNECT:通过代理服务器建立安全通信隧道后,实现用隧道协议进行 TCP 通信。主要使用SSL(Secure Sockets Layer,安全套接层)和TLS(Transport Layer Security,传输层安全)协议把通信内容加密后经网络隧道传输。
2.一个HTTP请求和响应,通过客户端与服务端的3次握手开始通信,通过4次挥手来结束本次通信,从而实现整个通信过程。
3.URI与URL的定义、区别和联系:
URI:(Uniform/Universal Resource Locator 的缩写,统一资源定位符)。
URL:(Uniform Resource Identifier 的缩写,统一资源标识符)(代表一种标准)。
区别和联系:URI 属于 URL 更高层次的抽象,一种字符串文本标准。URI是URL的父集。就是说,URI 属于父类,而 URL 属于 URI 的子类。URL 是 URI 的一个子集。
二者的区别在于,URI 表示请求服务器的路径,定义这么一个资源。而 URL 同时说明要如何访问这个资源(http://)。