http不同版本梳理

这篇笔记来梳理一下http各个版本的不同特性。 HTTP/0.9 最早诞生的是HTTP/0.9,是1991年提出的,当时是用来在网络间传递HTML超文本的内容,主要用于学术交流。 客户端与服务器建立TCP连接,(连接过程即TCP协议三次握手的过程) 发送GET请求行的信息。(当时的请求是只有一个请求行,没有HTTP请求头和请求体,因为只需要一个请求行就可以完整表达客户端的需求了) 服务端读取对应的HTML文件,将数据以ASCII字符流返回给客户端。(服务器也没有返回头信息) HTML文档传输完成后,断开连接。 HTTP/1.0 后来万维网进入高速发展阶段,在浏览器里面不仅仅展示HTML文件,还包括JS、CSS、图片、音频、视频等不同类型的文件,文件格式不再局限于ASCII编码,而且单个文件的数据量变大了,并且万维网支持全球范围所以需要进行国际化。所以HTTP/1.0诞生了。 HTTP/1.0引入了请求头和响应头,客户端在发送请求时会带上请求头信息,服务器在返回数据时也会返回响应头信息。 HTTP/1.0在头信息里面,客户端和服务器进行协商,可以知道服务器返回的数据是什么类型的、文件是否被压缩及压缩的形式、文件的语言版本、文件的具体编码等。…

强制把http变成https

最近阿里云官网上有免费的SSL证书可以买,就决定把网站改成支持https的。还想把对于http的访问全部导向https。 可以在nginx里面这样配置: http监听的是80端口,https监听的是443端口 对于80端口,nginx配置可以这样写: server { listen 80; server_name yoursitename; # redirect http to https return 301 https://yoursitename$request_uri; } 然后还要对443端口进行配置 server { listen 443 ssl; server_name youtsitename; …… …… } 关于301和302重定向 301和302都是http状态的编码,代表着某个url发生了转移。 但是,301是永久性转移,302是暂时性转移。 如果是301,则搜索引擎在抓取内容的时候,会把网址设置为新的网址。301对搜索引擎比较友好,而且搜索引擎会把老网址的PageRank等信息带到新网址来。 如果是302,则搜索引擎在抓取内容的时候,会把网址设置为就的网址。因为搜索引擎认为302表示是暂时性的,PageRank就被分摊掉了。而且还会被搜索引擎误以为你利用多个域名指向同一个网站,企图干扰排名。…