Linux网络协议_HTTP

HTTP协议

  • 00.什么是HTTP协议?

1.超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。


  • 01.认识URL

a. 我们熟悉的网址,URL
这里写图片描述

b. 但是有些时候输入的url也会进行转译。比如’ + ’ ,’ \ ’ , ’ ?’ ,’ : '等。

  • 02.HTTP报头

a. HTTP请求头
这里写图片描述
a. 首行:方法 + url + 版本号 b. header:键值对的形式,用" : "进行分割 c. body : header和body中间有空行,空行下面是body部分
b. HTTP响应头
这里写图片描述
a. 首行:版本号 + 状态码 + 状态描述符 b. header: 和上述类似,就是字段不一样,含义也不一样。

  • 03.常见的HTTP方法

这里写图片描述
平时用的最多的就是GET和POST方法

  • 04.HTTP报文头中header部分
请求头:

0. connection-type : 表示请求报头和服务器的连接方式,keep-alive就是长连接,否则就是短链接
1. content-length:当你有body部分的时候用于标识下面body的长度
2. Cache-Control:用来控制网页的缓存,后面再来详细说
3. host:表示请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的。
4. Upgrade-Insecure-Requests:如果此时浏览器访问的HTTPS网页,那么浏览器用这个字段来告诉服务器,我自己可以解决,你别管。
5. User-Agent:用来标识浏览器的信息,比如你是谷歌:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36(或者你是python爬虫就会标记程python)
6. Accept:表示浏览器接受的文件种类
7.  Accept-Encoding:表示接受文件格式gzip, deflate, br
8.  Accept-Language:表示接受的语言,也是用权重表示 zh-CN,zh;q=0.9
9. Cookie::这是服务器在浏览器端设置的标识,用来服务器区分不同的用户
`
`
响应头:
0. Cache-Control: private,后面细说
1. Connection: Keep-Alive,表示长连接,在一定时间后会释放连接
2. Content-Type: text/html;charset=utf-8,标识相应的文件类型和编码格式
3. Set-Cookie: 可以在响应中看到多个这样的字段,用于把cookie发送给浏览器,每写入一次cookie都是生成一个Set-Cookie
`

详解" Cache-control "字段
这个字段是用来控制网页缓存

  1. 新建窗口
    a. 值为private、no-cache、must-revalidate,那么打开新窗口访问时都会重新访问服务器。 b. 如果是max-age值,那么在此值内的时间里就不会重新访问服务器
  2. 在地址栏回车
    a. 值为private,则只有第一次访问服务器,以后都不会访问了 b. 值为no-cache,则每次都会访问服务器 c. 值为max-age,则在值期间内的时间内是不会重新访问的
  • 05.常见状态码

这里写图片描述
最常见的就是 "404 NOT FOUND "


  • 06.HTTP中GET和POST方法区别

a. GET请求将请求的数据放到URL地址中,POST请求放到了body中
b. GET请求最后一行是空行,一般没有body部分,而POST请求往往有body部分
c. GET因为没有body部分,所以header中没有content-length字段,POST请求有content-length字段,用来表示body的长度
d.因为对URL有限制,所有GET请求的数据有大小要求,POST用content-Length表示请求数据的长度,放入body,所以一般没有限制。
e.GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值。
f.因为GET请求的把数据放在URL中所以GET可能会不安全(登陆)。

  • 07.一些其他的问题
  1. 用谷歌浏览器在请求中经常会看到有favicon.ico,那么它是什么呢?
    它其实是谷歌浏览器,自己会自动请求的,它是图标
    这里写图片描述

  2. HTTPS和HTTP有什么关系?HTTPS是什么呢?
    HTTPS其实就是HTTP协议的安全版本,它会将信息进行加密传输,然后在进行解密,
    参考:
    1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
    2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
    3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
    4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

如有错误,可以私信我,这里表示感谢!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值